就像过去的5-6年一样,我设计了我所有的web项目,所以所有前端资源(如javascript文件)都尽可能少地从服务器上获取。
因此,我在used服务器上使用了一年到期的expires头。在前端,我在查询字符串中添加了如下版本
<script src="my_js_file.js?v=323"></script>但是最近我经历了Goole Chrome变得更加严格,所以如果您不像?v=4939那样更改查询字符串中的版本,就必须清除浏览器缓存来更新javascript文件。但有时它看起来并不总是更新缓存,即使版本是由一个
这是chrome中的一个bug,还是一个新的“功能”来使互联网“更快”?如果是的话,这是一个糟糕的功能,不再让你控制你的网站版本
更新
这不是我在开发网站时遇到的问题,而是网站用户的问题。新版本发布时,缓存不会更新。
发布于 2017-01-27 20:18:57
由于有些浏览器不承认将查询字符串更改为新文件,所以请这样做
<script src="my_js_file.3.2.3.js"></script>编辑
filename__—for :您可以通过在它的谷歌建议示例style.x234dff.css中嵌入文件的指纹或版本号来实现这一点。
以下是一些可能有用的帖子,还有一些更多的解释/示例/指南:
发布于 2017-01-27 20:17:29
在最近的版本中,Chrome确实一直在更积极地缓存。
使用devtools打开,刷新工作,就像以前一样(几次需要清除)。Chrome似乎还记得everything与devtools关闭的。
发布于 2017-01-27 20:22:59
为了测试/调试目的,CTRL+F5强制“硬刷新”来清除缓存。为了用户的利益,您需要像@LGSon所说的那样更改版本号,但这对调试来说是一个巨大的痛苦。
https://stackoverflow.com/questions/41902195
复制相似问题