2

我有一个 html5 离线应用程序。我正在使用 cache.manifest 文件来触发客户端代码刷新。清单中列出了应用程序中的几个 javascript 文件。每当触发离线应用程序更新(通过清单更改)时,我都会将缓存下载事件写入控制台日志。这使我可以查看正在下载/刷新哪些文件。每当我更改清单文件时,我都会正确观察清单中列出的所有 javascript 文件的下载条目。

到现在为止还挺好。

大多数 javascript 文件都会被刷新。我可以通过加载 Chrome 的开发者工具窗口 (CTRL+ALT+I) 并查看资源-> 脚本来查看它们。变化是存在的。

但是,一个文件似乎会导致问题。它被列为正在下载,但是当我查看脚本内容时,它还没有被刷新。没有清单错误,并且整个清单下载和缓存刷新操作完成没有错误。但是,这一文件拒绝被刷新。

任何人都知道发生了什么,以及如何解决它?

4

2 回答 2

2

解决此问题的最佳方法是通过添加 url 参数来对 .js 文件进行版本控制,例如 /Scripts/sample.js?v=1.0.24

为避免任何缓存问题,只需在更改 .js 文件时增加版本号。

于 2011-12-01T13:05:24.490 回答
0

我已经使用了HTML5 Rocks 教程中添加事件侦听器的代码,它现在加载了我对 js 或 css 所做的所有更改。

现在浏览器总是询问服务器文件是否已更改。

于 2011-11-18T09:43:50.970 回答