为什么我的CSS没有在网络浏览器中更新?

Mic*_*órm 24 css

在对我的网站进行编码时,我会保存HTML和CSS文档,然后刷新浏览器以查看更改.但是,当我刷新HTML时,会看到更改,但CSS更改却没有.相反,我需要关闭窗口并再次重新打开它以查看我的CSS更改.

任何想法为什么我不能刷新并看到CSS更改而不是关闭窗口并重新打开?

Hri*_*sto 36

尝试"硬"刷新浏览器...

http://en.wikipedia.org/wiki/Wikipedia:Bypass_your_cache

我们的想法是绕过浏览器的缓存.不同的浏览器以不同的方式处理这个问题,这篇wiki文章对于如何执行此操作,每个主要浏览器都有一个很好的演练.

或者,您可以清除浏览器的缓存,这也是维基文章所涵盖的.

  • 在chrome中,您只需要点击:Ctrl + Shift + R. (10认同)
  • 谢谢!我想这效果最好!Chrome 上的 Mac 版 Command + R。 (2认同)

小智 19

我认为这是缓存问题.

如何找到问题

如果您使用的是Chrome或Firefox或Safari,只需右键单击页面并选择inspect element,然后选择network标签.

现在像往常一样刷新页面,你会看到所有的http请求,如下所示:

如果css文件状态为304,则表示浏览器向服务器询问css文件,服务器说:"不,你不需要问我,我之前给了你css文件,它没有改变."

如果css文件状态是200,但是大小是from cache,则表示浏览器甚至不向服务器询问该文件,浏览器认为他有最新文件.

我认为你处于第二种情况(200来自缓存).

如何解决这个问题:

  1. 您始终可以清除浏览器缓存以查看更改.或者您可以禁用浏览器缓存以进行调试.

    但是你不能总是告诉访问者清除缓存,所以第二种方法:

  2. 如果您使用PHP或其他任何服务器语言,请将查询字符串附加到css文件名:

    <link rel="stylesheet" type="text/css" href="http://www.example.com/style.css?ts=<?=time()?>" />

    99%的时间,这将有效.

  3. 如果它是一个静态html页面,你可以手动更改css查询字符串(如果你愿意,甚至可以更改css文件名).