查看网页设计师网站并查看他们的源代码,他们有一个指向他们的css文件的链接,如下所示:
他们如何将样式表后面的style.css?v = 30放到正确的文件中,或者让他们实际命名该文件为style.css?v = 30。
答案 0 :(得分:1)
实际上filename.ext?v=something
是一种控制浏览器缓存过程的方法。无论何时打开任何网页,浏览器都会保存它的副本,我们称之为缓存。所以下次当你再次打开那个页面时,浏览器实际上并没有下载整个页面,它只是使用它的缓存副本来查看它。看起来您的网站开放速度比第一次快。
现在假设您正在使用名为style.css
的css文件,当有人第一次打开您的网页时,他的浏览器将下载style.css
并制作它的缓存副本。现在让我们再次打开该网页,然后开发人员实际更改了style.css
,但由于您的浏览器不知道它,它只显示相同的缓存副本,您无法看到新文件。登记/>
因此,开发人员在文件名中添加了一个名为版本详细信息的字符串,如style.css?v=30
,现在当您浏览它时,它将以版本值缓存,但下次再次打开同一页时,让开发人员已更改style.css
,因此他将使用新版本值上传它,让我们说style.css?v=234
,现在浏览器检查并看到它是新值,浏览器会将其作为新文件读取,它将被下载并且在视口中查看。
有几种方法可以防止浏览器缓存你的文件,其中一种方法是在最后添加一个随机版本字符串,你可以使用php中名为<?php echo uniqid(); ?>
的php中的随机字符串生成函数或添加任何新值。
其他方法是在.htaccess文件中定义重写规则,如果您使用的是apache服务器或在html头<meta name="expires" content="tue, 01 Jun 2010">
中添加过期标头。
我真的希望你完全得到它。
答案 1 :(得分:0)
也许他们正在使用像.htaccess文件这样的目录级配置,将style.css重定向到生成CSS的PHP文件,该文件以某种方式利用查询。