谷歌API是否有指向“最新”的jQuery库的链接?

798

我在<script>标签中使用以下代码来引用jQuery:

http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js

有没有一个指向“最新”版本的链接?类似以下内容(不起作用):

http://ajax.googleapis.com/ajax/libs/jquery/latest/jquery.js

(显然,将您的代码链接到潜在的变化库可能并不是一个好计划,但在开发过程中很有用。)


7
这会不会导致浏览器缓存问题?因为 URL 没有改变,所以浏览器不会获取最新的版本。 - JoelFan
2
啊!我没有考虑到“潜在的库更改”部分!你是对的,开发需要最新的,但如果你要给某人一个站点,很可能不会更新脚本,最好留在能正常工作的版本上! - BillyNair
2
小心使用jquery-latest.js, 因为它将不再更新。在这里可以看到更多讨论 http://blog.jquery.com/2014/07/03/dont-use-jquery-latest-js/。 - Mukesh Singh Rathaur
3
@NickPierpoint,FYI,这个问题正在这里讨论:http://meta.stackoverflow.com/q/272570/156755。 - Basic
1
感谢@Basic - 我在已接受答案上做了一个评论,提醒说由于其过时了,需要更新。如果不进行更新,我将取消接受该答案,并撰写一篇新的综合性回答或接受新的答案。 - Nick Pierpoint
显示剩余9条评论
12个回答

1022

在jQuery 1.11.1之前,您可以使用以下URL获取最新版本的jQuery:

例如:

<script src="https://code.jquery.com/jquery-latest.min.js"></script>

然而,自从jQuery 1.11.1版本以后,jQuery和Google都停止更新这些URL;它们将永远固定在1.11.1版本。没有支持的替代URL可供使用。关于为什么会这样的解释,请参阅这篇博文;不要使用jquery-latest.js
这两个主机都支持httpshttp,所以根据需要更改协议(或使用协议相对URI)。
另请参阅:https://developers.google.com/speed/libraries/devguide

3
请检查响应头中的“Expires”。从Google CDN或jQuery加载时无法进行良好的缓存 :S - user1087110
13
FYI,使用最新版本可能会在更改开始导致冲突时最终破坏您的网站。除非您确实熟悉所有站点并且能够及时解决问题,否则建议专门针对库进行目标设置,以避免此类情况发生。 - Kai Qing
1
链接到Google API 可能会增加您的网站速度,因为您的用户很可能已经从其他网站缓存了它,因此不需要再从您这里下载。自己托管意味着用户最终会在其缓存中拥有多个 jQuery 副本。 - Amicable
如果您想始终加载最新的jQuery库,则应从code.jquery.com加载,因为所有其他服务器通常落后几个版本。一个小缺点是ajax.googleapis.com通常比code.jquery.com具有更少的延迟。 - thdoan
72
我不确定我能否成功地解决这个如此受欢迎的问题,但请参见http://blog.jquery.com/2014/07/03/dont-use-jquery-latest-js/,了解为什么使用直接链接到jquery-latest.js是一个可怕的想法。 - Dave Methvin
1
可能需要提醒一下,code.jquery.com不支持IPv6,而Google和Microsoft则支持! - Martin Seitl

94

22
短链接:http://code.jquery.com/jquery.min.js - netvope
4
我不知道为什么这个回答获得了22个赞,而上一个回答包含相同的信息却得到了-2个赞@@ - Chan Le
@ChanLe 第一次提供答案时,jQuery没有CDN(这也是问题的重点)。现在他们有了一个CDN,所以这个URL和Google API选项一样有效。 - Nick Pierpoint
@Jacob:如果您从https使用此URL,则结果是Chrome会警告“这可能不是您要查找的网站!” jQuery网站上有一个错误报告,他们已将其关闭为“worksforme”,但我相信有些人不会舒服地使用它... - hippietrail
今天链接不工作,502 Bad Gateway。所以最好使用版本化的链接? - Timo
@Jacob,目前此链接已经失效。 - RhymeGuy

60

7
非常正确 - 获取“最新”版本往往会失去CDN的主要好处之一,即库很可能已经被缓存(无论是在用户的浏览器中还是在某些中间缓存中)。 - ChrisV

35

不要使用jquery-latest.js

此文件已不再更新(它将永远停留在v1.11.1)。此外,它的缓存寿命非常短,(抵消了使用CDN的好处),因此您最好选择jQuery的一个版本。

有关更多详细信息,请参阅jQuery博客:http://blog.jquery.com/2014/07/03/dont-use-jquery-latest-js/


30

不是没有道理,但你不应该自动使用最新的库。如果他们明天发布了最新的库,并且它破坏了你的一些脚本,你就会陷入SOL的境地,但如果你使用开发脚本时使用的库,你将确保它们能够正常工作。


4
有几个场合,我确实希望使用最新版本,例如将jQuery注入浏览器控制台时。 - hippietrail

18

使用:

<script type="text/javascript" src="//www.google.com/jsapi"></script>
<script type="text/javascript">
//<![CDATA[
    google.load("jquery", "1");
    //google.load("jqueryui", "1");
    //google.load("swfobject", "1");
//]]>
</script>

注意:上面的代码片段将使用1.7.1或1.11.1版本的jQuery。

我的建议是在生产环境中硬编码CDN jQuery版本:<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>

你可以在这里找到Google CDN的最新库: https://developers.google.com/speed/libraries/

或者使用jQuery CDN: https://code.jquery.com/


我没有得到最新的版本,我得到的是1.9.1,而最新的是1.10.2。 - nurettin

7

jQuery也不允许您通过SSL调用它们的最新文件,如果您想在购物车等场景中使用jQuery,则需要考虑这一点。

例如:

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

如果不使用SSL,将会出现安全错误。

谷歌的API允许您通过SSL调用:

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
  google.load("jquery", "1.7");
</script>

为什么你在关注安全通信时不直接使用https://www.google.com/jsapi而是使用http版本呢? - Christian
你是在暗示世界上最好的黑客攻击是将一些代码注入到“jquery”中,当网站尝试从“code.jquery.com/jquery”获取它时,没有使用“ssl”吗? - reuns

6

1
除了那不是真正的CDN,这个问题是关于Google API(被认为是指CDN)的。 - jcolebrand
9
这不再是事实 - 请参见http://blog.jquery.com/2014/07/03/dont-use-jquery-latest-js/和@coliff的回答。 - wombling - Chris Paine

5

我看到了那个链接,这促使我问关于“始终可用”的 Google 链接上是否有一个相等的。 - Nick Pierpoint
2
它在CDN上; jQuery CDN (通过Media Temple),但这个答案可能只适用于2009年初。 - Joel Purra
1
需要注意的是,此“latest”链接指向1.11.1版本而非最新版本 - 请参阅http://blog.jquery.com/2014/07/03/dont-use-jquery-latest-js/。 - wombling - Chris Paine

4

那个可以,不过已经在被接受的答案里提到了。 - Scott
1
1.x系列的最新版本,准确来说。 - kapa
虽然这个链接可能回答了问题,但最好在此处包含答案的基本部分并提供参考链接。仅有链接的答案如果链接页面发生更改可能会变得无效。 - dbush
@dbush 真的吗?提问者正在寻找最新的jQuery链接,而你建议在答案中包含该链接的内容(即jQuery库)?这不会有点违背拥有一个始终指向当前版本的链接的目的吗? - Chris

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接