为什么更改 HTML5 离线清单文件并调用 swapCache 方法后资源文件不刷新
我正在 chrome 14 中测试离线 Web 应用程序。并在清单中列出了一些资源文件,例如:
CACHE MANIFEST
#version 1
./img/BG.jpg
./img/BtnDisable.gif
./img/BtnDown.gif
./img/BtnUp.gif
加载缓存后,我将“./img/BG.jpg”文件替换为新图像,然后更改了清单版本文件到2,最后刷新页面。
从控制台中,我可以看到每个资源都触发了“onprogress”事件,最后触发了“updateready”事件。我在“updateready”的监听器中调用了swapCache方法。
但之后,当我尝试访问图像标签中的“BG.jpg”或直接在地址栏中输入它的URL时。图像仍然是旧的“BG.jpg”。
我在 Safari 5.1 中也发现了这个问题。我的Web容器是apache tomcat 7。
我是否误解了离线机制并犯了一些错误?
那么如何更新客户端浏览器的缓存文件呢?
I'm testing offline web application in chrome 14. and listed some resource files in manifest such as:
CACHE MANIFEST
#version 1
./img/BG.jpg
./img/BtnDisable.gif
./img/BtnDown.gif
./img/BtnUp.gif
and after cache is loaded I replaced the "./img/BG.jpg" file to a new image, then changed the version of manifest file to 2, and finally refreshed page.
from the console, I can see "onprogress" event is triggered for each resource and finally "updateready" event is triggered. I called swapCache method in the listener of "updateready".
But after that , when I try to access "BG.jpg" in an Image tag or directly input it's URL in the address bar. the Image is still old "BG.jpg".
And I also found this issue in Safari 5.1. My web container is apache tomcat 7.
Do I misunderstand the offline mechanism and made some mistakes?
So How can I update the cached files of the client browser?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
试试这个:
Try this: