2009-10-17 36 views
3

我对PHP网站上的CSS文件做了一些修改。如何强制浏览器显示CSS文件的最新更改?

的变化不会在我测试它,直到我按住CTRL 关键,点击浏览器的刷新按钮任何浏览器中显示。

这意味着大多数用户似乎不会看到我所做的更改。

如何强制浏览器立即显示对CSS文件的更改(无需重命名CSS文件)?

回答

11

链接样式表时添加一个唯一字符串作为查询字符串。下面是一个例子

<link href="style.css?<?=filemtime("style.css")?>" rel="stylesheet" type="text/css" /> 
+0

+1这就是我所做的 – cletus 2009-10-17 01:04:32

+0

+1对图像有用的方法。 – hlpiii 2009-10-17 01:08:03

2

这取决于您的Web服务器。 Apache可以设置为给定文件的最大缓存时间,我很确定IIS可以做同样的事情。

或者,FORCE uncaching的常见解决方案是版本化您的CSS文件名(Rails在内部执行此操作)。例如,style.css变为style-10162009.css

0

您不能。

如果新的CSS文件与旧的名称相同,浏览器将使用缓存的文件。这意味着你要么得:

  1. 使用某种形式的'css_filename.css的version_number`
  2. ,或为新文件
  3. 使用其他名称,或做你正在做的,并使用Ctrl + F5
+0

缓存最终将更新到新文件,但不是直接。 – 2009-10-17 07:04:43

+0

嗯,是的;但我假设它立即*而不是最终*的必要性。 =) – 2009-10-17 11:37:00

相关问题