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

Ang*_*ela 16 javascript asp.net asp.net-mvc jquery google-cdn

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

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

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

Nop*_*ope 24

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

jQuery示例

<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

谷歌的例子

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

微软的例子

<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.8.0.min.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

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

这样做有风险,例如使用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"));
}
Run Code Online (Sandbox Code Playgroud)

CDN可用性和性能评估

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

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

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

结果发现,所有三个都提供了出色的可用性,但性能并非如此.

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

微软在欧洲表现最差,但在整个北美地区甚至与谷歌相比.


jfr*_*d00 7

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

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

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

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


Rob*_*ner 1

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

<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

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

一些流行的 CDN 包括:

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

  • 链接到“jquery-latest.min.js”是危险的,因为 jQuery 可能会在未来版本中进行更改,这可能会破坏您的网站(这种情况一直在发生),并且您的网站会自动继承它并被破坏。 (3认同)