Nic*_*ynt 4 html css browser-cache
我在开发我的页面时发现了一个问题,这一直困扰着我:虽然Firefox(我的通用"开发"浏览器)总是在服务器上更改时更新CSS和图像,但Internet Explorer并不总是这样做.通常,我需要在IE中刷新页面,然后才会向服务器询问更新版本的内容.
据我了解,浏览器不应该至少检查每个请求的所有服务器端对象的时间戳,然后根据需要更新它们的客户端?有没有办法我可以...不强迫,但是......"鼓励"浏览器为某些项目执行此操作?
我在这里遇到的主要问题是我的页面上有一些JavaScript依赖于以某种方式初始化CSS,反之亦然.当一个更新而另一个不更新时(在IE中非常常见,当两者都在他们自己的外部页面中时)它会导致混淆,并且偶尔会在页面上出现泼溅效果.我可以自己动手做"刷页"舞蹈,但是当我在网站上进行脚本狂欢时,我不想鼓励我的用户"刷新页面".
任何建议将不胜感激.页面本身更新顺利(它是PHP),所以最糟糕的情况我可以将CSS和JavaScript吐出到页面本身,但这真的很难看,当然我试图不惜一切代价避免它.
Dan*_*ert 10
设计站点是一种很好的做法,这样客户端只需要获取外部JavaScript和CSS一次.
设置外部资源将在未来一年到期.为每个文件名附加一个版本号,因此style.css使用" style-1.2.4.css" 代替" ",然后当您想要更新客户端的CSS时,增加版本号.
增加版本号会强制客户端下载更新的文件,因为它被视为完全独立的资源.