您需要在 ? 然后在更改 CSS 时更改它。正在发生的事情是浏览器将缓存任何在特定时期内没有变化的东西,它通过检查文件名来做到这一点。所以main.css?仍然是 main.css 吗?问号后面的任何内容都是查询字符串,通常用于将数据传递到特定文件。在这种情况下,它仅用于更改文件字符串,因此浏览器每次更改时都会更新它,而不会影响文件本身。
有几种方法可以处理这个问题,第一种是手动更改版本,如果你有一个头文件,这可能是最简单的想法,就像在总是加载相同头数据的模板系统中一样。
<link rel="stylesheet" type="text/css" href="assets/css/main.css?ver1/>
然后在下一次更改:
<link rel="stylesheet" type="text/css" href="assets/css/main.css?ver2/>
如果您希望自动执行此操作,您可以在 css 行中添加一些 PHP 脚本,如下所示:
<link rel="stylesheet" type="text/css" href="assets/css/main.css?time=<?php echo filemtime('./assets/css/main.css');?>" />
这实质上是添加一个值,每次保存文件时都会更改并导致类似的结果,下次我保存文件时 time= value 将更改:
<link rel="stylesheet" type="text/css" href="http://localhost/refficient/trunk/assets/css/main.css?time=1350305706" />