Javascript ?ver=包含末尾-是否有技术影响?

Javascript ?ver=包含末尾-是否有技术影响?,javascript,caching,browser,Javascript,Caching,Browser,我想知道版本名称到底是做什么的 比如jquery.js?ver=1.4.4 我的意思是,如果我使用这样的cdn jquery/1.4.4/jquery.min.js?ver=1.4.4 但是另一面有jquery/1.4.4/jquery.min.js?ver=1.3.2,这会影响缓存吗?是的,通过将=1.4.4更改为其他内容,当用户返回页面时,它会强制浏览器不缓存文件。因此,如果您升级到JQuery的新版本,比如1.4.5,并且希望确保客户端获得文件的最新版本,那么您可以更改url的结尾。这使浏

我想知道版本名称到底是做什么的

比如jquery.js?ver=1.4.4

我的意思是,如果我使用这样的cdn jquery/1.4.4/jquery.min.js?ver=1.4.4
但是另一面有jquery/1.4.4/jquery.min.js?ver=1.3.2,这会影响缓存吗?

是的,通过将
=1.4.4
更改为其他内容,当用户返回页面时,它会强制浏览器不缓存文件。因此,如果您升级到JQuery的新版本,比如1.4.5,并且希望确保客户端获得文件的最新版本,那么您可以更改url的结尾。这使浏览器认为它是一个全新的文件,并强制它下载新版本


(将版本放在末尾有助于您轻松确定文件的版本,但这与所问的问题完全不同:)。

Hm,好的。这意味着它是一个潜在的错误源(不是真正的错误)。我的意思是整个cdn缓存都受到了影响。因此,有些人使用它,有些人不使用,而另一些人最终可能有错误的版本。所以最好是每个人都不要在从第三方cdn加载的文件上使用它。虽然这是正确的,但服务器也可能根据请求的版本返回不同的资源。如果情况并非如此(这本身就令人讨厌),那么我只需将版本字符串移到资源名称本身--“?ver=”,对于稳定的版本签名来说,这是一种很弱的想法,可能会导致像Glasspoole先生指出的微妙的不匹配。@pst是的,这也是正确的。我应该加上它。@pst,你说的资源名称中的版本字符串是什么意思?路径和名称由cdn提供?或者你是说allready是什么,比如“/ajax/libs/jquery/1.4.4/jquery.min.js”。所以这整个缓存是另一个半生不熟的结块。这里有提示,那里有提示——网络上到处都是。为了节省你的时间,你必须研究和证明一切