情况
我正在构建一个可以离线使用的 webapp,但在线使用时也会定期更新。我通过添加包含 tstamp 的注释来使清单服务器端无效,然后在检测到更改后立即通过 JS 自动重新加载页面。直到现在,这一切都很好。
问题
上述过程仍然完全执行,但由于某种原因,每次浏览器尝试获取新文件时,只会加载旧资源。所以更新进度肯定会触发和工作(我可以从 chromes 控制台看出),但似乎在此过程中请求的文件是从浏览器缓存中检索的(!= appcache)。
即使我之前删除了浏览器缓存也会发生这种情况。此外,我已经使用了几个反缓存元数据并更改了 IIS 的失效标头以立即失效。
附加信息
当我手动删除应用程序缓存时,问题就解决了。但它会在一段时间后再次发生(不幸的是我不知道会触发这个)