【发布时间】:2010-12-07 13:15:12
【问题描述】:
我对 PHP 站点上的 CSS 文件进行了一些更改。
在我按住 CTRL 键并单击浏览器的 REFRESH 按钮之前,这些更改不会显示在我对其进行测试的任何浏览器中。
这意味着大多数用户不会看到我所做的更改。
如何强制浏览器立即显示对 CSS 文件的更改(无需重命名 CSS 文件)?
【问题讨论】:
我对 PHP 站点上的 CSS 文件进行了一些更改。
在我按住 CTRL 键并单击浏览器的 REFRESH 按钮之前,这些更改不会显示在我对其进行测试的任何浏览器中。
这意味着大多数用户不会看到我所做的更改。
如何强制浏览器立即显示对 CSS 文件的更改(无需重命名 CSS 文件)?
【问题讨论】:
链接样式表时添加一个唯一的字符串作为查询字符串。这是一个例子
<link href="style.css?<?=filemtime("style.css")?>" rel="stylesheet" type="text/css" />
【讨论】:
这取决于您的网络服务器。 Apache 可以设置为给定文件配置最长缓存时间,我很确定 IIS 也可以这样做。
另外,强制取消缓存的常见解决方案是对 CSS 文件名进行版本控制(Rails 在内部执行此操作)。例如,style.css 变为 style-10162009.css
【讨论】:
你不能。
如果新的 CSS 文件与旧的 CSS 文件同名,浏览器将使用缓存的文件。这意味着您必须:
【讨论】: