我有一个html5离线应用程序。我正在使用缓存。清单文件以触发客户端代码刷新。应用程序中有几个javascript文件列在清单中。每当触发离线应用程序更新时(通过清单更改),我都会将缓存下载事件写入控制台日志。这让我可以看到哪些文件正在被下载/刷新。每当我改变manifest文件时,我就会正确地观察到manifest中列出的所有javascript文件的下载条目。
到目前为止,一切顺利。
大多数javascript文件被刷新。我可以通过加载Chrome的开发人员工具窗口(CTRL+ALT+I)并查看资源->脚本来查看它们。
然而,一个文件似乎引起了问题。它被列为正在下载,但当我查看脚本内容,然后它没有刷新。没有清单错误,整个清单下载和缓存刷新操作将顺利完成。但是,这个文件拒绝刷新。
有人知道发生了什么,以及如何解决它吗?
解决这个问题的最好方法是通过添加url参数来版本.js文件,例如/Scripts/sample.js?v=1.0.24
要避免任何缓存问题,只需在更改.js文件时增加版本号即可。
我使用了HTML5 Rocks教程中添加事件监听器的代码,现在它会加载我对js或css所做的所有更改。
现在浏览器总是询问服务器文件是否已经更改