强制更新时,缓存清单文件未到期JavaScript文件

时间:2015-01-29 17:29:05

标签: javascript html5 caching iis cache-manifest

我正在测试HTML5缓存清单文件,并且很难让它更新JavaScript文件。在Chrome中,我可以看到每当我对文件进行更改并且浏览器下载清单时都会更新清单,但清单中指定的JavaScript文件不会更新。

我已经测试了它,其背后的原因似乎是在IIS中设置的HTTP响应标头。它们已设置为在指定的持续时间后过期Web内容。假设文件应该更新,即使它们没有过期,我是不正确的?

提前致谢!

1 个答案:

答案 0 :(得分:0)

将HTTP响应标题“将Web内容过期”设置为“立即”按照我的预期工作。令我惊讶的是,当页面刷新时,立即过期并没有强制拉出新文件。完成此操作后,我执行了以下步骤来验证:

1)清理浏览器缓存

2)第一次加载页面

3)改变了加载页面的JavaScript文件

4)尝试再次加载页面(浏览器仍使用旧的JavaScript文件)

5)更新了缓存清单

6)再次尝试加载页面,页面加载旧值,但提示用户有新版本可用 - 选中后,新文件被使用

步骤6中描述的事件触发器来自此处:http://www.html5rocks.com/en/tutorials/appcache/beginner/。希望这有助于其他人!