加载jQuery的最佳方法是什么?

可能重复:
你在哪里包含jQuery库? 谷歌JSAPI? CDN?

我有一个使用jQuery的应用程序。 该应用程序可以使用几乎任何最新版本的jQuery,如1.7或1.8。

任何人都可以给我一个建议,我如何编写我的应用程序,以最大限度地发现它找到最新版本的jQuery的机会,以满足我在用户缓存中的需求。 例如,我应该尝试从谷歌CDN中寻找一个版本,在哪种情况下我应该尝试寻找哪个版本?

在公共网站上使用内容分发网络(CDN)非常普遍。 要引用一个脚本标记,就像任何其他本地文件一样:

jQuery示例

 

谷歌的例子

  

微软的例子

  

我应该总是参考最新版本吗?

这样做有风险,例如使用jQuery CDN始终指向最新版本。

在最后几个版本中,已经弃用了几种方法,即: toggle() – 用于鼠标事件, live()die()等。

据我所知,在jQuery论坛中,这些弃用的方法将在1.9版本中被永久删除。

此外,jQuery计划将1.9和2.0发布在一起。 然而2.0不是1.9的延续,而是将在旁边开发。

2.0将不支持IE6,IE7或IE8。 jQuery 1.9将与以前的所有浏览器版本保持兼容。

在这里阅读它。

出于这些原因,我不建议自动始终指向最新版本,但明确引用您支持的特定版本。

如果CDN失败怎么办?

它很少发生, CDN可能会发生故障。 为了以防万一,您不必承担后果,您可以实施备用计划。

 // Check if jQuery was initialized and if not (CDN was down for example), then // load jQuery from a local source. if(typeof jQuery === 'undefined'){ document.write(unescape("%3Cscript src='yourlocalpath/jquery.1.x.min.js' type='text/javascript'%3E%3C/script%3E")); } 

CDN可用性和性能评估

关于可用CDN的质量和性能,我在royal.pingdom.com上看到了这篇非常有趣的文章

Pingdom的报告显示了jQuery最常用和免费的主机; 谷歌,微软和Media Temple; 已certificate可靠但性能不一致。

为了评估网络,Pingdom在欧洲和北美的多个地点进行了测试,每分钟一次,全天候工作30天。

结果发现,三者都提供了出色的可用性,但性能并非如此。

对于不使用HTTPS或安全服务器的网站,Media Temple是迄今为止谷歌在欧洲最快的网站,但在北美却落后于其他网站。 对于HTTPS网站,Google在欧洲是最快的,谷歌和微软在北美的表现相似。

微软在欧洲表现最差,但整体而言甚至与谷歌一起在北美。

选择最新版本的jQuery以满足您的需求。 此刻,那将是1.8。 然后在免费且广泛使用的CDN(可能是谷歌或微软)上链接到它。

您应该链接到特定版本的jQuery。 虽然有一个最新版本的jQuery的链接,你不应该链接到那个,因为当它发生变化时,你的网站可能会在你不知道的情况下破解。 您应该只链接到特定版本的jQuery。 以下是在Google CDN上链接到1.8.1的代码。

  

如果你真的想要优化你的浏览器缓存命中率,你会选择并测试现在广泛部署的jQuery版本(我相信有关每个版本使用量的网页统计信息)然后你会定期更新跟踪最常用的版本。 我怀疑这是微优化,只是选择你测试过的最新版本是合适的,并且会给你使用普通CDN的好处。

我建议引用Google或Microsoft CDN中的静态版本号。 立即使用最新版本进行开发。 如果您进行需要更新function的更改,只需更改布局中的参考。

Google CDN看起来像:

  

对于最新版本,您可以直接从jQuery加载:

  

您还可以加载其他内容交付网络 。

一些流行的CDN是:

  • jQuery(code.jquery.com)
  • 微软(ajax.microsoft.com)
  • 谷歌(ajax.googleapis.com)