我如何请求浏览器始终更新(也称为从不缓存)某些页面元素,例如 CSS 表?

2024-01-19

我在开发页面时注意到一个始终困扰我的问题:虽然 Firefox(我常用的“开发”浏览器)总是在服务器上更改 CSS 和图像时更新它们,但 Internet Explorer 并不总是这样做。通常,我需要刷新 IE 中的页面,然后它才会向服务器请求更新版本的内容。

据我了解,浏览器不是应该至少检查每个请求的所有服务器端对象上的时间戳,然后根据需要更新它们客户端吗?有没有办法我可以......不强迫,但是......“鼓励”浏览器对某些项目执行此操作?

我在这里遇到的主要问题是我的页面上有一些 JavaScript 依赖于以某种方式初始化的 CSS,反之亦然。当一个更新而另一个没有更新时(在 IE 中很常见,因为两者都在自己的外部页面中),这会导致混乱,并且页面上偶尔会出现混乱。我可以自己处理“刷新页面”舞蹈以进行开发,但当我在网站上进行脚本狂欢时,我不想鼓励我的用户“刷新页面或其他”。

任何建议将不胜感激。页面本身可以顺利更新(它是 PHP),所以最坏的情况是我可以将 CSS 和 JavaScript 吐到页面本身中,但那就是真的真的很丑当然,我会不惜一切代价试图避免它。


设计站点时,客户端只需获取外部 JavaScript 和 CSS 一次,这是一个很好的做法。

设置外部资源在未来1年到期。将版本号附加到每个文件名,而不是“style.css", use "style-1.2.4.css" 然后当你想要更新客户端的 CSS 时,增加版本号。

增加版本号会强制客户端下载更新的文件,因为它被视为完全独立的资源。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我如何请求浏览器始终更新(也称为从不缓存)某些页面元素,例如 CSS 表? 的相关文章