【问题标题】:HTML5: Javascript to force offline cache rebuild?HTML5:强制离线缓存重建的Javascript?
【发布时间】:2012-09-12 23:02:49
【问题描述】:

按照 html5rocks 的教程,我希望 window.applicationCache.update() 有助于强制重新构建离线缓存。 (http://www.html5rocks.com/en/tutorials/appcache/beginner/#toc-updating-cache)

目的是让用户点击“更新缓存”按钮。这是因为即使文件(css、img 等)都被修改了,计算机/平板电脑甚至不会检查它们是否有更新。用户留下的是旧内容。

这在 JS 中如何实现?

【问题讨论】:

    标签: javascript html offline-caching html5-appcache


    【解决方案1】:

    如果您要问“客户端应该如何知道文件已被修改”,那么答案很简单 - 缓存清单应该包含一些唯一标识符,这些标识符会在这些文件更新时得到更新。我使用 PHP 生成清单,并使用所有缓存文件中单调递增的修订号和 MAX(filemtime) 的组合 - 当清单文件与客户端拥有的文件不同时,它将检查所有清单列出的文件是否有更新.

    update() 触发更新检查并下载更新(如果有),但它实际上并没有用新的缓存数据替换旧的缓存数据。

    swapCache() 将用新下载的缓存替换旧缓存版本。

    但是,此时您的旧 JS 已经创建了您页面所依赖的所有管道......

    我的 html5 应用程序会定期调用 update(),当下载缓存更新时,它只会向用户显示一个按钮,说“安装更新!”,它只是重新加载页面 - 这样新下载的缓存文件就会被应用当用户选择时,不会破坏他的工作流程。

    【讨论】:

      猜你喜欢
      • 2010-11-15
      • 2015-05-05
      • 1970-01-01
      • 2012-09-16
      • 2012-11-12
      • 1970-01-01
      • 2012-01-01
      • 2011-10-08
      • 2013-01-23
      相关资源
      最近更新 更多