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

时间:2012-09-08 16:56:10

标签: javascript jquery asp.net asp.net-mvc google-cdn

  

可能重复:
  Where do you include the jQuery library from? Google JSAPI? CDN?

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

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

4 个答案:

答案 0 :(得分:24)

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

jQuery示例

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

Google示例

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

Microsoft示例

<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.8.0.min.js" type="text/javascript"></script>

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

这样做有风险,例如使用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将与之前的所有浏览器版本保持兼容。

了解它here

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

如果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上遇到了这个非常有趣的article

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

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

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

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

微软在欧洲表现最差,但在整个北美地区甚至与谷歌合作。

答案 1 :(得分: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>

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

答案 2 :(得分:4)

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

Google CDN看起来像:

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

答案 3 :(得分:1)

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

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

您还可以加载其他Content Delivery Networks

一些流行的CDN是:

  • jQuery(code.jquery.com)
  • Microsoft(ajax.microsoft.com)
  • Google(ajax.googleapis.com)