Mar*_*iry 99 jquery google-cdn
我在谷歌CDN 的官方文档中读到这是src
jQuery:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
但是,src
在每个版本更新时必须更改我的jQuery 引用是很烦人的.
我发现,如果我将版本设置为,1
则Google会返回最新版本的jQuery.
http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
/*! jQuery v1.8.2 jquery.com | jquery.org/license */
Run Code Online (Sandbox Code Playgroud)
这是正确的做法吗?是否有任何官方URL可以引用Google CDN上托管的最新版jQuery?
Bla*_*ger 180
更新2014年7月3日:截至目前,jquery-latest.js
已不再更新.来自jQuery博客:
我们知道http://code.jquery.com/jquery-latest.js被滥用,因为CDN统计数据显示它是最受欢迎的文件.如果它仅被开发人员用于制作本地副本,则情况并非如此.
我们已决定停止更新此文件以及缩小的副本,将这两个文件永久保留在1.11.1版本中.
该谷歌CDN团队已经加入了我们在这方面的努力,以防止意外的卷筒纸断裂,并且不再更新的文件 http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js.该文件也将保持锁定在版本1.11.1.
由于历史原因,以下是现在没有实际意义的答案.
链接到jQuery的主要版本确实有效,但这是一个坏主意 - 每个小数更新都会添加和弃用全新功能.如果您在不完全测试代码的情况下自动更新jQuery ,那么如果某个关键方法的API发生了变化,您将面临意外的惊喜.
这是你应该做的:使用最新版本的jQuery编写代码.测试它,调试它,在它准备好生产时发布它.
然后,当新版本的jQuery推出时,问问自己:我的代码中是否需要这个新版本?例如,是否存在以前不存在的一些关键浏览器兼容性,或者它是否会在大多数浏览器中加速我的代码?
如果答案是"否",请不要费心将代码更新为最新的jQuery版本.这样做甚至可能会为您的代码添加以前不存在的新错误.没有负责任的开发人员会自动包含来自其他网站的新代码,而无需对其进
没有充分的理由始终使用最新版本的jQuery.旧版本仍可在CDN上使用,如果它们适用于您的目的,那么为什么还要更换它们呢?
次要但可能更重要的问题是缓存.许多人在CDN上链接到jQuery,因为许多其他网站都这样做,并且您的用户很有可能已经缓存了该版本.
问题是,只有在提供完整版本号时,缓存才有效.如果您提供部分版本号,则不会发生远期缓存 - 因为如果这样做,某些用户将从同一URL获得不同的次要版本的jQuery.(比如1.7到1.7.1的链接到第二天的1.7.2和第二天的1.7.2.浏览器如何确保它今天获得最新版本?答案:没有缓存.)
http://code.jquery.com/jquery-latest.min.js (无缓存)
http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js(1 小时)
http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js(1 小时)
http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js(1年 )
因此,通过以这种方式链接到jQuery,您实际上消除了首先使用CDN的主要原因之一.
http://code.jquery.com/jquery-latest.min.js可能并不总能为您提供您期望的版本.在撰写本文时,它链接到最新版本的jQuery 1.x,即使jQuery 2.x也已发布.这是因为jQuery 1.x与包括IE 6/7/8在内的旧浏览器兼容,而jQuery 2.x则不兼容.如果你想要最新版本的jQuery 2.x,那么(现在)你需要明确指定它.
这两个版本具有相同的API,因此兼容的浏览器没有感知差异.但是,jQuery 1.x的下载量大于2.x.
我不知道它是否/何处发布,但您可以通过省略次要和构建数字来获得最新版本.
最新1.8.x:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
最新1.x:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
但是,请记住,这些链接的缓存超时时间比完整版本号短得多,因此您的用户可能会下载超过您想要的内容.有关详细信息,请参阅Google CDN对jQuery 1.x.0的重要.0.
如果您希望使用除Google托管的jQuery库之外的jQuery CDN,您可以考虑使用它并确保使用最新版本的jQuery:
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)