javascript - 强制更新时缓存 list 文件不会过期 JavaScript 文件

标签 javascript html caching iis cache-manifest

我正在测试 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/

相关文章:

html - 图像(在 div 内)堆叠而不是内联

javascript - 如何在不刷新html网页的情况下显示highchart系列图中的过渡?

jquery - 如何在jsp中创建搜索文本框?

caching - Safari 7 应用程序缓存不起作用

java - 如何异步处理 GAE 数据存储争用?

javascript - 如何使用 jQuery 获取动态分类元素的索引

JavaScript 正则表达式

javascript - Angular/Karma - 当预期请求和观察到的请求相同时出现 "Unexpected Request"错误

c++ - 我可以检查缓存中是否有一 block 内存(例如,使用 malloc 分配)吗?

javascript - 使用 JavaScript,我想使用 XPath 来查找字符串的存在,然后基于该字符串刷新页面