css - 最后使用问号 (?) 在浏览器中访问 CSS

标签 css web-applications webserver

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

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

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

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

并加载旧版本的 CSS

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

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

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

亲切的问候

最佳答案

您需要在 ? 之后添加一些内容然后在更改 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= 值将发生变化:

<link rel="stylesheet" type="text/css" href="http://localhost/refficient/trunk/assets/css/main.css?time=1350305706" />

关于css - 最后使用问号 (?) 在浏览器中访问 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34430987/

相关文章:

html - 摆脱表格单元格间距?

javascript - 用 jQuery 删除的 Div 仍然存在吗?

Jquery .addClass() 不工作

javascript - 双击表 : Don't select the other cells

java - 如何使一个servlet对一般用户不可访问,但对其他servlet可以访问?

node.js - WebStorm:本地和跨平台的 HTTP 服务器选项

css - 如何使图像具有相同的宽度和高度但仍能响应 Bootstrap?

javascript - jQuery/JS 选择元素单击以使用按钮更改

svn - 如何在服务器上创建 SVN 存储库?

java - 我们可以更新已部署服务器中的 jar/war 文件,然后重新加载新的 jar/war 文件吗?