包含最新版jQuery的最佳方法是什么?

时间:2010-07-22 19:52:50

标签: php jquery wordpress

我正在使用Wordpress开发网站,我想使用laQuery版本的jQuery。

为了确保我使用lates版本,我从Binary Bonsai's example找到了这段代码。

我看到的是,他实际上是在Google API上链接到jQuery。

所以我的问题是,什么更好。

要链接到外部页面上的jQuery吗? http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js

或在本地拥有jquery文件?
wp_enqueue_script('jquery', '/js/jquery-1.4.2.min.js');

更新

感谢科林,答案实际上就在这里:
Why should I use Google's CDN for jQuery?

但是,如果您的搜索字词中没有Google,就像我一样,我会复制John Gietzen的答案

  1. 增加可用的并行度。
    (大多数浏览器一次只能从任何给定的站点下载3或4个文件)

  2. 会增加缓存命中的可能性。
    (随着越来越多的网站遵循这种做法,越来越多的用户已经准备好了文件。)

  3. 确保有效负载尽可能小。
    (谷歌可以预先压缩文件,使下载时间非常短。)

  4. 减少服务器使用的带宽量。
    (谷歌基本上提供免费带宽。)

  5. 确保用户获得地理上接近的响应。
    (谷歌的服务器遍布全球,进一步缩短了延迟。)

6 个答案:

答案 0 :(得分:8)

链接到Google CDN副本时,您可以省略小版本或点版本,如下所示:

鉴于这种灵活性,我更喜欢远程版本,只需更改URL并加载文件(在大多数情况下),就可以快速修复错误,因为它是从另一个域中提取的(和不在您域名的并行请求中)。还有其他相关问题,herehere

答案 1 :(得分:6)

那不会得到最新版本。这样每次都会得到1.4.2。

但这会:

http://code.jquery.com/jquery-latest.min.js

尽管如此,我更喜欢本地,并将版本锁定在我开发它的位置并验证它正在工作......

答案 2 :(得分:3)

我确信每种都有利弊,但我个人更喜欢在本地使用该文件。我的理由是,有可能在将来的某个时候某个功能可能会被弃用,如果您碰巧在现在稳定且长期未修改的脚本中使用该功能,那么它可能会破坏您的代码。

答案 3 :(得分:1)

正如尼克·克拉弗在答案中提到的,你可以从谷歌CDN的URL中省略主要/次要版本。

将CDN用于这些类型的文件的主要好处是性能优势和带宽节省。

任何最近的浏览器都会使用以前访问过的文件的缓存副本,并且由于这个(以及许多其他文件)被用于网络中的数千(数百万?)个网站,因此访问您网站的用户很可能已经缓存了这个文件。

因此它可以节省用户带宽以及您自己的带宽。这绝不是一件坏事。

另外,如果有一个新版本的jQuery框架可用,即使你在本地托管它,你仍然需要更新本地副本,不是吗?

答案 4 :(得分:1)

1)本地文件

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

或者,如果您使用Wordpress: wp_enqueue_script('jquery','/ js / jquery-latest.min.js');

您必须在新版本发布时下载最新版本,并将其重命名为jquery-latest.min.js。如果您在许多页面上对文件引用进行硬编码,那么它是最简单的。

2)来自Google CDN

<script src="https://www.google.com/jsapi"></script>
<script>
google.load('jquery', '1.4.2');
</script>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>

新版本发布时,您必须将版本号更新为最新版本。如果您有一个允许您更新单个地点以反映每个页面上的更改的模板,则比方法一更容易。

3)来自jQuery的服务器

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

简单,因为它始终是最新的。但是,它可能不如谷歌的CDN那么可靠和快速。

答案 5 :(得分:0)

请注意,外部jquery.js文件是版本1.4.2,如果更新jQuery,则不会更改。你真的希望在你不知道的情况下更新jQuery代码库吗?如果您的代码正常运行,为什么要通过让jQuery版本自动更新来冒险破解它?