【问题标题】:What is the best way to include latest version of jQuery?包含最新版本 jQuery 的最佳方式是什么?
【发布时间】:2010-07-22 19:52:49
【问题描述】:

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

为了确保我使用的是最新版本,我从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');

更新

感谢 Colin,答案其实就在这里:
Why should I use Google's CDN for jQuery?

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

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

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

  3. 它确保负载尽可能小。
    (Google 可以对文件进行预 gzip 压缩,从而缩短下载时间。)

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

  5. 它确保用户将获得地理上接近的响应。
    (Google 的服务器遍布全球,进一步降低了延迟。)

【问题讨论】:

标签: php jquery wordpress


【解决方案1】:

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

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

【讨论】:

  • 我认为使用 1.4.x 或 1.x.x 是“危险的”,因为如果对 jQuery 进行更改,例如Wordpress 尚未实现(或者我没有更新自定义插件),然后 Wordpress(或我的插件)可能会突然中断。所以我会说最安全的方法是使用 1.4.2,然后当我测试它是否有效时手动更新到 1.4.3。
  • @Steven - 我同意,这就是我使用它的方式,URL 中完整的1.4.2(顺便说一下,同样的方案适用于 jQuery UI,它的 CSS 也是如此)。但是,如果您想要任何版本的最新版本,您可以使用 选项,这是 IMO 的一个不错的功能,他们将其留给开发人员选择的方式。
【解决方案2】:

这不会让您获得最新版本。这会让你每次都得到 1.4.2。

不过,这会:

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

不过,我更喜欢本地版本,并在我开发它并验证它是否正常工作的时候锁定版本......

【讨论】:

  • 领先我 10 秒。刚看了这个:stackoverflow.com/questions/441412/…
  • 我的问题不是如何拥有最新版本,而是什么更好;拥有它或链接到谷歌:-)
  • 您可能需要注意这一点,一旦 1.4.3 发布,这个答案就没有多大意义了 :)
  • 我认为 Google 不会删除旧版本,只会添加新版本。所以当升级到 1.4.3 的时候,我必须更新我的插件代码。
【解决方案3】:

我确信每种方法各有利弊,但我个人更喜欢将文件保存在本地。我这样做的原因是,将来某个功能可能会被弃用,如果您碰巧在您现在稳定且长期未修改的脚本中使用该功能,那么它可能会破坏您的代码。

【讨论】:

  • 那么我假设您也为您的网站提供了特定版本的特定浏览器,因为任何浏览器发生破坏性变化的几率似乎比 jQuery 发生破坏性变化的几率低一千倍. :)
【解决方案4】:

正如 Nick Craver 在他的回答中提到的,您可以从 google CDN 的 URL 中省略主要/次要版本。

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

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

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

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

【讨论】:

    【解决方案5】:

    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。如果在许多页面上硬编码文件引用,If 是最简单的。

    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>
    

    很简单,因为它总是最新的。但是,它可能不如 Google 的 CDN 可靠和快速。

    【讨论】:

      【解决方案6】:

      请注意,外部 jquery.js 文件的版本是 1.4.2,如果更新了 jQuery,它不会改变。您真的希望 jQuery 代码库在您不知情的情况下更新吗?如果您的代码正常工作,为什么要冒着让 jQuery 版本自动更新的风险呢?

      【讨论】:

        猜你喜欢
        • 2011-06-18
        • 2023-03-11
        • 1970-01-01
        • 1970-01-01
        • 2011-11-29
        • 2020-08-09
        • 2013-04-02
        • 2016-03-22
        • 1970-01-01
        相关资源
        最近更新 更多