我一直在使用带有未更改index.html的appcache很长一段时间。它没有在清单中明确列出,但无论如何都被缓存为主条目。
现在index.html发生了变化,我遇到了这个问题:
所有资源都已正确获取和缓存,但主条目仍旧,网站中断。我尝试在清单中明确列出index.html。 Chrome devtools很好地展示了这个难题:
旧的index.html仍然是主人。新的显式缓存但不交换。
如Chrome中所述,会发生此错误。 FF和Safari工作正常。 IE 11显示“服务器上不存在资源”和“Appcache致命错误”。
清单看起来像这样:
CACHE MANIFEST
# vX.X.X
NETWORK:
*
CACHE:
index.html
app.js
app.json
favicon.ico
... (+100 more files)
答案 0 :(得分:0)
找到它:
要修复框架错误,我有一个服务器端重定向来添加查询字符串参数。将appcache从https://example.com交换到https://example.com?myparam会破坏Chrome和IE中的appcache。
答案 1 :(得分:0)
面对同样的问题并在没有服务器端操作的情况下解决了它。
所以您只需要在<head>
标记中添加脚本:
<script type="text/javascript">
window.applicationCache.addEventListener("updateready",
(event) => { window.location.reload(true) });
</script>
如果您感兴趣,可以在我的帖子中找到一些解释: AppCache doesn't swap index.html file