1

鉴于有一种方法可以直接使用 window.applicationCache.update() 调用更新,有没有什么方法可以省略加载页面时浏览器自动执行的更新?

我一直在 Google Chrome 中尝试离线模式,到目前为止,似乎 1)如果指定了清单文件,它将被加载,并且我无法在 JavaScript 中做任何事情来阻止它。2)如果清单文件发生了变化,整个缓存都将被更新,我无法阻止它。

以我的经验,window.applicationCache.abort() 无论何时调用它都不起作用。我尝试在 javascript 的第一行以及检查和下载事件中调用它,但它总是下载所有内容。这可能与时间有关,因为文件很小并且加载速度非常快。

4

2 回答 2

1

监听checking事件取消它。该abort()方法直到应用程序缓存下载过程的第 17 步才出现,我认为您无法使用它停止该过程。

于 2012-07-26T23:11:57.207 回答
0

这是撰写本文时的一个 Chrome 错误:https ://code.google.com/p/chromium/issues/detail?id=175063 (请投票)

刚刚在 iOS Safari 上试过这个:

window.applicationCache.addEventListener('checking', function(event) {
   window.applicationCache.abort();
}, false);

有用。在 Safari 调试器控制台中:

应用程序缓存下载过程被中止。

Chrome 会忽略相同的代码。

于 2013-09-26T10:51:33.197 回答