在浏览器中使用问号(?)访问CSS

时间:2012-10-17 13:46:17

标签: css web-applications webserver

有人可以通过最后添加问号CSS以及为什么新的CSS不对网站产生任何影响来解释在浏览器中访问?的区别。

我在网络服务器上部署了一个新的CSS,但它没有任何影响。

我尝试在浏览器中打开网址,如下所示:

www.mysite.com/styles/css/main.css

并加载旧版CSS

然后我尝试了如下,它加载了新版本的CSS。

www.mysite.com/styles/css/main.css?

完成所有这些之后。新的CSS更改不会影响网站。它仍然显示旧的设计。

亲切的问候

2 个答案:

答案 0 :(得分:3)

你需要在之后添加一些东西吗?然后在更改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" />

答案 1 :(得分:-2)

浏览器缓存是什么原因,添加?不建议使用css。打开托管空间并清除缓存和线程池。