通过javascript清除并更新html5应用程序缓存

Purge and update html5 application cache through javascript

本文关键字:html5 应用程序 缓存 更新 javascript 清除 通过      更新时间:2023-09-26

我经常遇到这个问题,其中一些用户的应用程序缓存(HTML5)已损坏。

每次有新版本时,我都会更新清单文件——有时一些用户会得到损坏的应用程序缓存。

在这种情况下,我想完全清除他们的应用程序缓存中的内容,并从服务器加载所有新内容。

有没有使用Javascript的方法?

根据以下关于的文章

http://www.w3schools.com/html5/html5_app_cache.asp

有三种方法可以重置应用程序缓存,它们是:

  1. 用户清除浏览器缓存
  2. 清单文件已修改
  3. 应用程序缓存以编程方式更新

关于以编程方式更新应用程序缓存的更多信息可以在这里找到:

http://www.html5rocks.com/en/tutorials/appcache/beginner/

它看起来像这样:

var appCache = window.applicationCache;
appCache.update(); //this will attempt to update the users cache and changes the application cache status to 'UPDATEREADY'.
if (appCache.status == window.applicationCache.UPDATEREADY) {
  appCache.swapCache(); //replaces the old cache with the new one.
}

这个已经很老了,但当我看到一个错误的答案被投票时,我想给出一些提示。。。。

如果有人在查看规范时遇到问题,你可以看到代码无法强制浏览器重新加载缓存,除非清单中有更改,而此时"appCache.status==window.applicationCache.UPDATEREADY"为true。

看这里http://www.w3.org/TR/2011/WD-html5-20110525/offline.html

updateready清单中列出的资源已被重新下载,脚本可以使用swapCache()切换到新的缓存。

因此,仔细阅读它,你会发现applicationCache在刚刚下载的资源。。。也就是说…之前发生了"下载"事件。。。在那之前是"检查"。。。。