如何在每个页面的加载 - 应用程序缓存上更新缓存

时间:2015-04-20 10:59:11

标签: web-applications html5-appcache application-cache

我正在为我的应用程序使用应用程序缓存作为脱机模式,并且主页面将经常更改,因此我希望每次更新HTML页面时都更新缓存。

或者,为每个页面的加载更新缓存。

我正在使用此代码,但它不起作用:

window.addEventListener('load', function(e) {

  window.applicationCache.addEventListener('updateready', function(e) {
    if (window.applicationCache.status == window.applicationCache.UPDATEREADY) {
      // Browser downloaded a new app cache.
      if (confirm('A new version of this site is available. Load it?')) {
        window.location.reload();
      }
    } else {
      // Manifest didn't changed. Nothing new to server.
    }
  }, false);

}, false);

1 个答案:

答案 0 :(得分:0)

  

...所以我想每次更新html页面时更新缓存

您必须手动更新缓存清单文件(通过在其末尾添加#,或进行其他一些无关紧要的更改。如果您想要自动化它,请编写某种脚本,观察项目目录,并在发生更改时随时向缓存清单添加#

  

或者,为每个页面的加载更新缓存。

您需要配置您的Web服务器以禁用清单的缓存,因此它总是将其提供给浏览器,而不是指示浏览器使用缓存版本。

This是一个很好的资源。