谷歌CDN上的最新jQuery版本

时间:2012-09-26 18:36:22

标签: jquery google-cdn

我在Google CDN的official doc中读到这是jQuery的src

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>

然而,在每个版本更新时必须更改我的jQuery src引用是很烦人的。

我发现如果我将版本设置为1,则Google会返回最新版本的jQuery。

http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
/*! jQuery v1.8.2 jquery.com | jquery.org/license */

这是正确的做法吗?是否有任何官方网址可以引用Google CDN上托管的最新版jQuery?

5 个答案:

答案 0 :(得分:179)

更新2014年7月3日:截至目前,jquery-latest.js已不再更新。 来自jQuery blog

  

我们知道http://code.jquery.com/jquery-latest.js被滥用了   因为CDN的统计数据   显示它是最受欢迎的文件。如果是这样的情况就不是这样的   只被开发人员用来制作本地副本。

     

我们决定停止   更新此文件以及缩小的副本,保留两个文件   在版本1.11.1永远。

     

Google CDN团队已加入我们的行列以防范   无意的网络破坏,不再更新文件   http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js。那个文件   也将保持锁定版本1.11.1。

由于历史原因,以下,现在没有实际意义,答案保留在这里。


Don't do this. Seriously, don't.

链接到jQuery的主要版本确实有效,但这是一个坏主意 - 每个小数更新都会添加和弃用全新功能。如果您在不测试代码 COMPLETELY 的情况下自动更新jQuery,那么如果某些关键方法的API发生了变化,您将面临意外的惊喜。

以下是您应该做的事情:使用最新版本的jQuery编写代码。测试它,调试它,在它准备好生产时发布它。

然后,当新版本的jQuery推出时,问问自己:我的代码中是否需要这个新版本?例如,是否存在以前不存在的关键浏览器兼容性,或者它会在大多数浏览器中加快我的代码?

如果答案是“否”,请不要费心将代码更新到最新的jQuery版本。 Doing so might even add NEW errors to your code which didn't exist before。没有负责任的开发人员会在没有彻底测试的情况下自动包含来自其他网站的新代码。

没有充分的理由始终使用最新版本的jQuery。旧版本仍可在CDN上使用,如果它们适用于您的目的,那么为什么还要更换它们?


一个次要但可能更重要的问题是缓存。许多人在CDN上链接到jQuery,因为许多其他网站都这样做,并且您的用户很有可能已经缓存了该版本。

问题是,caching only works if you provide a full version number。如果您提供部分版本号,则不会发生远期缓存 - 因为如果这样做,某些用户将从同一URL获得不同的jQuery次要版本。 (比如1.7到1.7.1的链接到第一天的1.7.1和第二天的1.7.2。浏览器如何确保它今天获得最新版本?答案:没有缓存。)

  

实际上here's a breakdown有几个选项及其过期   设置...

     

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 is not。如果你想要最新版本的jQuery 2.x,那么(现在)你需要明确指定它。

这两个版本具有相同的API,因此兼容的浏览器没有感知差异。但是,jQuery 1.x是一个比2.x更大的下载。

答案 1 :(得分:8)

我不知道它是否/在哪里发布,但您可以通过省略次要和构建数字来获得最新版本。

最新1.8.x:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>

最新1.x:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>

但是,请记住,这些链接的缓存超时时间比完整版本号短得多,因此您的用户可能会下载的内容超出您的预期。有关详细信息,请参阅The crucial .0 in Google CDN references to jQuery 1.x.0

答案 2 :(得分:8)

如果您希望使用除Google托管的jQuery库之外的jQuery CDN,您可以考虑使用它,确保使用最新版本的jQuery:

<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>

答案 3 :(得分:1)

Here's an updated link.

现在有更新,只需继续检查最新版本。  

答案 4 :(得分:1)

使用Google托管的最新jquery版本

人类

  1. https://developers.google.com/speed/libraries/#jquery

  2. 获取摘录:

  3.   

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

    1. 将其放入您的代码中。
    2. 确保它有效。
    3. 搜索引擎:

      1. 等待人类去做。