鉴于有一种方法可以直接使用window.applicationCache.update()调用更新,是否有任何方法可以省略加载页面时浏览器自动执行的更新?
我一直在Google Chrome中尝试离线模式,到目前为止看起来似乎如此 1)如果指定了清单文件,它将被加载,并且我无法用JavaScript来阻止它。 2)如果清单文件已更改,整个缓存将会更新,我无法阻止它。
根据我的经验,无论何时调用它,window.applicationCache.abort()都无效。我已经尝试在javascript的第一行调用它,并在检查和下载事件中,但它总是下载所有内容。它可能与时序有关,因为文件很小并且加载速度非常快。
答案 0 :(得分:1)
倾听checking
event和cancel它。在application cache download process的第17步之前,abort()
方法不会出现问题,我认为您无法使用它停止此过程。
答案 1 :(得分: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会忽略相同的代码。