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

时间:2012-08-05 15:18:24

标签: javascript html5 application-cache

我很多次遇到这个问题,其中一些用户的应用程序缓存已损坏(HTML 5)。

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

我这样的情况我想要完全清楚他们的应用程序缓存中有什么,并从服务器加载所有新鲜内容。

有没有办法使用Javascript?

2 个答案:

答案 0 :(得分:13)

根据以下文章

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

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

  1. 用户清除浏览器缓存
  2. 清单文件已修改
  3. 应用程序缓存以编程方式更新
  4. 有关以编程方式更新应用程序缓存的更多信息,请访问:

    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.
    }
    

答案 1 :(得分:7)

这个很老了但是当我看到一个错误的答案被投票时,我觉得有点暗示......

如果查看规范有困难,您可以看到代码无法强制浏览器重新加载缓存,除非清单中有更改,并且&# 39;当" appCache.status == window.applicationCache.UPDATEREADY"是的。

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

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

因此,仔细阅读它,您会发现applicationCache在刚刚下载的资源时达到了那个状态......那就是......之前的#34;下载"事件发生了...在那之前a"检查" ....