首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ajax.js或filename.js?ver=3.1.2末尾的ver=3.1.2是什么意思?

ajax.js或filename.js?ver=3.1.2末尾的ver=3.1.2是什么意思?
EN

Stack Overflow用户
提问于 2011-08-31 15:56:14
回答 2查看 2.2K关注 0票数 2

我在一个网站上遇到了一些相互冲突的jquery问题,当我试图解决这个问题时,我注意到我的head文件中有以下后缀:

代码语言:javascript
复制
ajax.js?ver=3.1.2'></script> 
jquery.prettyPhoto.js?ver=3.1.2'></script> 
jquery.cycle.all.2.72.js?ver=3.1.2'></script> 
jcarousellite_1.0.1.min.js?ver=3.1.2'></script> 
jquery.kwicks-1.5.1.pack.js?ver=3.1.2'></script> 
ddsmoothmenu.js?ver=3.1.2'></script> 
js.js?ver=3.1.2'></script> 

显然,3.1.2可能是某种“最新更新”之类的东西。它怎麽工作?你如何同步主题或平衡它们?

这些其他文件会因为混合版本而失败吗?下面是剩下的部分:

代码语言:javascript
复制
.css?ver=20110325' type='text/css' media='all' /> 
.css?ver=3.1.2' type='text/css' media='all' /> 
l10n.js?ver=20101110'></script> 
jquery.js?ver=1.4.2'></script> 
all.js?ver=3.1.2#xfbml=1'></script> 
comment-reply.js?ver=20090102'></script> 

我不确定这是不是我应该在Stackoverflow上发布的方式,所以请随意编辑。

EN

回答 2

Stack Overflow用户

发布于 2011-08-31 15:58:55

这个想法是给js文件提供远未来的expires报头,因此浏览器被指示不再下载该文件。

为了允许更改文件,同时仍然对它们进行缓存,通常会添加此缓存破坏查询字符串,以便您可以更改版本位,并且浏览器会将其视为新文件。

它实际上不会在服务器端做任何事情,这只是一种很好的方式。

这实际上是一种非常糟糕的方式,因为一些代理服务器不缓存带有查询字符串的内容,所以更好的方法是在文件名中嵌入一些东西,而不是查询字符串。

票数 4
EN

Stack Overflow用户

发布于 2011-08-31 16:01:12

3.1.2似乎是您正在使用的应用程序的版本,而不是js/css库本身的版本。这样做的一个原因是,当您更新代码时,不必担心浏览器使用较旧的缓存版本。

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

https://stackoverflow.com/questions/7254091

复制
相关文章

相似问题

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