缓存清理未进入该功能

时间:2017-02-21 12:55:14

标签: html5 caching web

我正在尝试清理Web应用程序中的缓存,因此,我擦除了我的CSS并将此函数放在我的all.js存档中,位于document.ready:

下面。
// Check if a new cache is available on page load.
window.addEventListener('load', function(e) {
console.log("entered the function");
  window.applicationCache.addEventListener('updateready', function(e) {
    console.log("entered the function 2");
    if (window.applicationCache.status == window.applicationCache.UPDATEREADY) {
      // Browser downloaded a new app cache.
      // Swap it in and reload the page to get the new hotness.
      window.applicationCache.swapCache();
      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);

问题是,它不清理我的缓存,擦除我的CSS之后它仍然显示旧的,而console.log(“进入函数2”)也不打印。 有人可以帮忙吗? 非常感谢你!

1 个答案:

答案 0 :(得分:0)

我解决了我的问题: //检查页面加载时是否有新缓存可用。 window.addEventListener('beforeload',function(e){

    if (window.applicationCache.status == window.applicationCache.UPDATEREADY) {
      // Browser downloaded a new app cache.
      // Swap it in and reload the page to get the new hotness.

      window.applicationCache.swapCache();
      window.location.reload();
  }

  }, false);

不认为是正确的方式,但有效