Latest jQuery version on Google's CDN
我在google cdn官方文档中看到,这是
1 | <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"> |
但是,在每次版本更新时都必须更改jquery
我发现如果我将版本设置为
1 2 | http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js /*! jQuery v1.8.2 jquery.com | jquery.org/license */ |
这是正确的做法吗?有没有官方的网址可以参考在google cdn上托管的jquery的最新版本?
2014年7月3日更新:截至目前,
We know that http://code.jquery.com/jquery-latest.js is abused
because of the CDN statistics
showing it’s the most popular file. That wouldn’t be the case if it
was only being used by developers to make a local copy.We have decided to stop
updating this file, as well as the minified copy, keeping both files
at version 1.11.1 forever.The Google CDN team has joined us in this effort to prevent
inadvertent web breakage and no longer updates the file at
http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js. That file
will stay locked at version 1.11.1 as well.
由于历史原因,下面的答案现在还没有定论。
不要这样做。说真的,不要。
链接到jquery的主要版本确实有效,但这是一个坏主意——在每次十进制更新中都会添加和否决整个新特性。如果您在不完全测试代码的情况下自动更新jquery,那么如果某个关键方法的API发生了变化,您将面临意外的风险。
下面是您应该做的:使用最新版本的jquery编写代码。测试它,调试它,在它准备好生产时发布它。
然后,当一个新版本的jquery推出时,问问自己:我的代码中需要这个新版本吗?例如,是否有一些以前不存在的关键浏览器兼容性,或者它会在大多数浏览器中加速我的代码?
如果答案是"否",那么不要费心将代码更新到最新的jquery版本。这样做甚至可能会给以前不存在的代码添加新的错误。没有一个负责任的开发人员会在没有彻底测试的情况下自动包含来自另一个站点的新代码。
没有充分的理由总是使用最新版本的jquery。旧版本仍然可以在cdn上使用,如果它们为您的目的工作,那么为什么还要更换它们呢?
另一个可能更重要的问题是缓存。许多人在一个cdn上链接到jquery,因为许多其他站点都有,而且您的用户很有可能已经缓存了该版本。
问题是,只有提供完整的版本号,缓存才能工作。如果您提供了部分版本号,那么将来不会发生缓存——因为如果提供了部分版本号,那么某些用户将从同一个URL获得不同的jquery次要版本。(假设到1.7的链接一天指向1.7.1,第二天指向1.7.2。浏览器如何确保今天获得最新版本?答:无缓存。)
In fact here's a breakdown of several options and their expiration
settings...http://code.jquery.com/jquery-latest.min.js (no cache)
http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js (1 hour)
http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js (1
hour)http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js (1
year)
因此,通过这种方式链接到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大。
如果您希望使用jquery cdn而不是Google托管的jquery库,您可以考虑使用它并确保使用最新版本的jquery:
1 | <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"> |
我不知道它是否在哪里发布,但是您可以通过省略次要版本号和内部版本号来获得最新版本。
最新1.8。
1 | <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"> |
最新1。
1 | <script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"> |
但是,请记住,这些链接的缓存超时比完整版本号要短得多,因此您的用户可能下载的内容比您希望的要多。有关更多信息,请参阅Google cdn中的critical.0引用jquery 1.x.0。
使用Google托管的最新jquery版本
人类:
https://developers.google.com/speed/libraries/jquery
获取代码段:
机器人:
这里有一个更新的链接。
有时会有更新,只需不断检查最新版本。