<分区>
查看网页设计师网站并查看他们的源代码,他们有一个指向他们的 css 文件的链接,如下所示:
他们如何将 style.css?v=30 查询放在样式表之后并使其转到正确的文件,或者他们实际上将该文件命名为 style.css?v=30。
<分区>
查看网页设计师网站并查看他们的源代码,他们有一个指向他们的 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/