我使用的是HTML5 appcache,而且大部分都运行良好。但是,有时,用户'浏览器(Chrome或Safari)将保留在缓存的清单文件中,即使我肯定服务器在评论中有一个全新的清单文件,其中包含唯一的版本号(例如" #app version 1.0 .0.8"或其他)。
在IIS(版本6)中,内容过期设置为1天,那么这可能是问题吗?我似乎无法重现这个使调试变得困难的问题。作为预防措施,在IIS中,我已将内容过期更改为"立即过期"用于存储清单文件的目录。这可以解释为什么有些浏览器会挂在清单文件上,即使有新版本可用吗?
我还注意到,当浏览器以这种方式运行时,即使我删除了服务器上的清单文件,用户的浏览器也会使用自己的清单文件的缓存副本,这是不应该的。如果文件在我的理解中不再可用,就会发生。
谢谢,
安迪
答案 0 :(得分:1)
取自我的回答:https://stackoverflow.com/a/13282735/727575
是的,这是当前的“正确”行为。它与IIS内容过期无关。这就是:
当您刚对清单文件进行更改并刷新浏览器时,会发生这种情况(假设您在线)
所以基本上,你需要刷新两次或从'window.applicationCache'中抛出一个事件来处理它
要查看使用window.applicationCache的示例,请转到此处:http://www.html5rocks.com/en/tutorials/appcache/beginner/
它位于“正在更新缓存”部分下。