强制更新时缓存清单文件不会过期 JavaScript 文件

Cache Manifest file is not expiring JavaScript file when forced update

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

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

提前致谢!

将 HTTP 响应 Header "Expire Web content" 设置为 "Immediately" 就像我预期的那样。令我惊讶的是,刷新页面时立即过期并没有强制拉取新文件。这样做之后,我执行了以下步骤来验证:

1) 清理浏览器缓存

2) 第一次加载页面

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

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

5) 更新缓存清单

6) 再次尝试加载页面,该页面加载了旧值但提示用户有更新的版本可用 - 选择后,将使用新文件

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