首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么要向CSS和JavaScript链接文件传递参数,比如src="../cnt.js?ver=4.0"?

为什么要向CSS和JavaScript链接文件传递参数,比如src="../cnt.js?ver=4.0"?
EN

Stack Overflow用户
提问于 2010-06-28 18:12:00
回答 6查看 12.2K关注 0票数 20

当我看到许多站点的源代码时,参数被传递到链接文件(CSS/JavaScript)。

在Stack的溢出源代码中,我得到了

代码语言:javascript
复制
<script type="text/javascript" src="http://sstatic.net/js/master.js?v=55c7eccb8e19"></script> 

为什么要使用master.js?v=55c7eccb8e19

我确信JavaScript/CSS文件无法获取参数。

原因何在?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-06-28 18:13:51

这样做通常是为了防止缓存。

假设您部署了新应用程序的版本2,并且您想让客户端刷新它们的CSS,您可以添加这个额外的参数来指示它应该从服务器重新请求它。当然,也有其他方法,但这非常简单。

票数 30
EN

Stack Overflow用户

发布于 2013-07-11 20:35:15

这是为了避免浏览器缓存文件。附加的版本名称对JavaScript文件没有影响,但是对于浏览器的缓存引擎来说,它现在看起来像是一个唯一的文件。

例如,如果您有scripts.js,并且浏览器访问该页面,则浏览器将下载并缓存(存储)该文件,以使下一页面的访问速度更快。但是,如果您进行了更改,则在缓存过期之前,浏览器可能无法识别它。然而,scripts.js?v2现在让浏览器强制重新获取,因为“名称改变了”(即使它没有改变,只有内容改变了)。

票数 3
EN

Stack Overflow用户

发布于 2010-06-28 18:14:33

生成CSS或JavaScript代码的服务器端脚本可以利用它们,但它可能只是用来在文件内容更改时更改URI,以便旧的缓存版本不会造成问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3131518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档