我经常发现,当我更新一个网站时,我不得不告诉办公室里的其他人按 Shift+F5,因为浏览器不会立即识别出该网站已经更改并加载旧的 HTML 和新的 CSS反之亦然。
如何在我进行更新后强制浏览器加载网站的新版本?或者只是和我在同一个网络上的人遇到这些事情?我试过在我的 style.css 包含的末尾放置一个随机数,例如:
<link rel="stylesheet" media="screen" href="/inc/style.css?rnd=493481" />
然而,这似乎没有任何区别。我不需要它来重新加载 HTML 和 CSS 每次 页面加载,就在我进行重大更新时。
有什么建议吗?
最佳答案
现代浏览器询问服务器上次更改 (css) 文件的时间,并检查它们的缓存版本上次更改时间是否匹配。如果它不匹配,浏览器就会知道服务器版本已更改并使用该版本而不是 chached 版本。
但是你的服务器必须支持最后更改时间检查。您的服务器可能没有或已被禁用?
我一般不建议禁用缓存 - 它会给您的服务器带来不必要的流量。在这种情况下,最好的解决方案是(正如 user2440252 已经说过的那样)是使用特定于版本的名称。
关于php - 将网站更新为新的 HTML 和 CSS,浏览器无法注意到差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28453816/