通过javascript清除并更新html5应用程序缓存
Purge and update html5 application cache through javascript
我经常遇到这个问题,其中一些用户的应用程序缓存(HTML5)已损坏。
每次有新版本时,我都会更新清单文件——有时一些用户会得到损坏的应用程序缓存。
在这种情况下,我想完全清除他们的应用程序缓存中的内容,并从服务器加载所有新内容。
有没有使用Javascript的方法?
根据以下关于的文章
http://www.w3schools.com/html5/html5_app_cache.asp
有三种方法可以重置应用程序缓存,它们是:
- 用户清除浏览器缓存
- 清单文件已修改
- 应用程序缓存以编程方式更新
关于以编程方式更新应用程序缓存的更多信息可以在这里找到:
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在刚刚下载的资源。。。也就是说…之前发生了"下载"事件。。。在那之前是"检查"。。。。
相关文章:
- HTML5应用程序数据库同步
- 客户端将EDN转换为JSON(HTML5应用程序使用的Datomic数据)
- 通过javascript清除并更新html5应用程序缓存
- 我的html5应用程序无法显示模型
- 调整图像大小,同时在Windows 8 Metro HTML5应用程序中保持其质量
- 未启动html5应用程序缓存
- 在现有的HTML5应用程序上使用Modernizr使其与ie8兼容
- 将整个JavaScript文件文件夹添加到HTML5应用程序缓存中
- 安卓版 HTML5 应用程序可以在主屏幕上有一个小部件吗?
- HTML5应用程序缓存文件存储在客户端的位置
- 获取使用 HTML5 应用程序缓存时下载的资源计数
- 如何在多页HTML5应用程序中保持JavaScript对象的活动状态
- HTML5 应用程序与英特尔 xdk 应用程序 (安卓)
- 允许在 HTML5 应用程序中访问内部网/本地文件的解决方案
- 响应式HTML5应用程序
- 在JavaScript/HTML5应用程序中使用现有的.net库
- 移动HTML5应用程序-确定用户的日期/时间偏好
- HTML5应用程序,可快速点击
- 将HTML5应用程序连接到服务器上的数据库*安全*
- .json文件的HTML5应用程序缓存