16

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

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

谁能给我一个建议,告诉我如何编码我的应用程序,以最大限度地提高它在用户缓存中找到满足我需求的最新版本的 jQuery 的机会。例如,我应该尝试从 google CDN 中查找一个版本,在哪种情况下我应该尝试查找哪个版本?

4

4 回答 4

23

公共网站使用内容交付网络 (CDN) 非常普遍。要引用一个,您可以像任何其他本地文件一样将它们包含在脚本标记中:

jQuery 示例

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

谷歌示例

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

微软示例

<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 将与所有以前的浏览器版本保持兼容。

在这里阅读。

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

如果 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;已证明可靠但性能不一致。

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

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

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

微软在欧洲的表现最差,但在北美总体上与谷歌并驾齐驱。

于 2012-09-08T17:11:45.430 回答
7

选择满足您需求的最新版本的 jQuery。此时,这将是 1.8。然后在免费且广泛使用的 CDN(可能是 Google 或 Microsoft)上链接到它。

您应该链接到特定版本的 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 的好处。

于 2012-09-08T17:00:08.157 回答
4

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

谷歌 CDN 看起来像:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
于 2012-09-08T17:02:58.823 回答
1

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

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

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

一些流行的 CDN 是:

  • jQuery (code.jquery.com)
  • 微软 (ajax.microsoft.com)
  • 谷歌 (ajax.googleapis.com)
于 2012-09-08T16:57:25.677 回答