我正在测试 HTML5 缓存 list 文件,但很难让它更新 JavaScript 文件。在 Chrome 中,我可以看到每当我对文件进行更改并且浏览器下载该文件时, list 都会更新,但 list 中指定的 JavaScript 文件不会更新。
我已经测试过了,其背后的原因似乎是 IIS 中设置的 HTTP 响应 header 。它们被设置为在指定的持续时间后使网页内容过期。我假设文件即使没有过期也应该更新,这是错误的吗?
提前致谢!
最佳答案
将 HTTP 响应 header “使 Web 内容过期”设置为“立即”正如我预期的那样。令我惊讶的是,刷新页面时,立即过期并不会强制提取新文件。完成此操作后,我执行了以下步骤进行验证:
1)清理浏览器缓存
2)第一次加载页面
3) 更改了随页面加载的 JavaScript 文件
4) 尝试再次加载页面(浏览器仍然使用旧的 JavaScript 文件)
5) 更新缓存 list
6) 尝试再次加载页面,该页面加载了旧值,但提示用户有新版本可用 - 选择时,将使用新文件
步骤 6 中描述的事件触发器取自此处:http://www.html5rocks.com/en/tutorials/appcache/beginner/ 。希望这对其他人有帮助!
关于javascript - 强制更新时缓存 list 文件不会过期 JavaScript 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28220925/