2011-11-18 75 views
2

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

到目前为止,这么好。

大部分javascript文件都刷新了。我可以通过加载Chrome的开发人员工具窗口(CTRL + ALT + I)并查看resources-> scripts来查看它们。变化是存在的。

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

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

回答

2

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

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

0

我已经使用代码从HTML5 Rocks tutorial添加事件侦听器,它现在加载所有更改为js或css我做。

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