html - 刚刚看到一个名为 style.css?v=30 的样式表

标签 html css

<分区>

查看网页设计师网站并查看他们的源代码,他们有一个指向他们的 css 文件的链接,如下所示:

他们如何将 style.css?v=30 查询放在样式表之后并使其转到正确的文件,或者他们实际上将该文件命名为 style.css?v=30。

最佳答案

实际上 filename.ext?v=something是一种控制浏览器缓存进程的方法。每当您打开任何网页时,浏览器都会保存它的副本,我们称之为缓存。所以下次当你再次打开那个页面时,浏览器实际上并没有下载整个页面,它只是使用它的缓存副本来查看它。看起来您的网站打开速度比第一次快。
现在假设您正在使用一个名为 style.css 的 css 文件。 , 当有人第一次打开你的网页时,他的浏览器会下载 style.css并制作它的缓存副本。现在让下次您再次打开该网页时,在该开发人员实际更改 style.css 之前但由于您的浏览器不知道,它只会显示相同的缓存副本,而您看不到新文件。
所以为了防止这种情况,开发人员在文件名中添加一个名为版本详细信息的字符串,如 style.css?v=30 ,现在当你浏览器读取它时,它会被缓存版本值,但下次当你再次打开同一个页面时,让开发人员改变了 style.css ,所以他会用新版本值上传它,比如说 style.css?v=234 ,现在浏览器检查并查看它是新值,浏览器会将其读取为新文件,它将被下载并在您的视口(viewport)中查看。

有几种方法可以防止浏览器缓存你的文件,其中之一是在末尾添加一个随机版本字符串,你可以使用名为 <?php echo uniqid(); ?> 的 php 中的随机字符串生成函数。从 php 或添加任何新值。 另一种方法是在您的 .htaccess 文件中定义一个重写规则,如果您使用的是 apache 服务器,或者在您的 html 头中添加一个过期 header <meta name="expires" content="tue, 01 Jun 2010"> .

我真的希望你能完全理解它。

关于html - 刚刚看到一个名为 style.css?v=30 的样式表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19695892/

相关文章:

javascript - 哪个css参数修改animate ('width' , 'hide' ) 函数

html - Angular - 如何直接修改组件内 HTML 元素的 CSS 转换属性

php - Yii PHP 分页的一些问题

css - 这是水平居中绝对定位元素的有效方法吗?

html - CSS 导航错误

javascript - 如何阻止触摸事件落在移动设备网络浏览器中的覆盖对象上?

javascript - 使用 gulp-uglify 丑化 JS IIFE 后缺少代码

jquery - 使用 jQuery 访问 css ":after"选择器

JavaScript 根据星期几更改 div 的 CSS 属性

javascript - 滚动条移动内容