【问题标题】:client-side applet caching?客户端小程序缓存?
【发布时间】:2010-10-18 01:48:03
【问题描述】:

是否可以在客户端缓存小程序中使用的 jar 文件?我正在阅读相互矛盾的信息:

  • 看来您可以使用<object> + <param> 设置“缓存”参数

然而——

  • 我猜<applet> 是首选方式吗?我还没有看到applet 标记的任何类型的缓存属性。

有谁知道缓存 jar 文件的方法吗?我的小程序中需要一个第三方库,大小约为 130kb。

谢谢

【问题讨论】:

    标签: java caching jar applet


    【解决方案1】:

    根据java plugin development documentation,您可以使用cache_archive、cache_version 和cache_archive_ex 参数来缓存您的小程序和第三方库。

    这是用法:

    <OBJECT .... >
    <PARAM NAME="archive" VALUE="a.jar">
    <PARAM NAME="cache_archive" VALUE="b.jar, c.jar, d.jar">
    <PARAM NAME="cache_version" VALUE="0.0.0.1, 0.0.2A.1, 0.3D.22.FFFE">
    <PARAM NAME="cache_archive_ex" VALUE="applet.jar;preload, util.jar;preload;0.9.0.AC1, tools.jar;0.9.8.7F">
    </OBJECT>
    

    另外,这个页面有一个警告:

    .jar 档案指定的文件 属性也被缓存在这个 粘性缓存。

    万一这个小程序缓存机制 对你不起作用,检查是否 它已在其他地方禁用,例如 就像通过 API 一样。确保你 没有禁用 URLConnection 的 通过 API 缓存: URLConnection.setUseCaches 和 URLConnection.SetDefaultUseCaches

    【讨论】:

    • 是的,我记得昨天看过这个文档,但我发誓我在许多论坛帖子中看到对象标签不好,应该改用小程序:-/
    【解决方案2】:

    Applet 默认缓存在客户端机器上,IMO 几乎不需要覆盖它。

    即使使用缓存机制,也不能保证文件会被缓存。缓存控件似乎更多是关于版本控制 IMO,但在注意到使用它时进度条行为很奇怪后,我禁用了它。

    对于版本控制,我只需从包含版本号的 URL 加载 jar。

    【讨论】:

      猜你喜欢
      • 2014-03-26
      • 2017-03-18
      • 2012-07-26
      • 2019-04-24
      • 1970-01-01
      • 2010-10-04
      • 1970-01-01
      • 2013-02-10
      • 2013-01-04
      相关资源
      最近更新 更多