你从哪里包含jQuery库?Google JSAPI?CDN?

有几种方法可以包含jQuery和jQuery UI,我想知道人们在使用什么?

  • 谷歌 JSAPI
  • jQuery的网站
  • 您自己的网站/服务器
  • 另一个 CDN

我最近一直在使用Google JSAPI,但发现设置SSL连接甚至仅解决 google.com 需要很长时间。我一直在谷歌使用以下内容:

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

我喜欢使用Google的想法,以便在访问其他网站时缓存它并节省我们服务器的带宽,但是如果它一直是网站的缓慢部分,我可能会更改包含。

你用什么?您有任何问题吗?

编辑:刚刚访问了jQuery的网站,他们使用以下方法:

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

编辑2:以下是我去年毫无问题地包含jQuery的方式:

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

不同之处在于删除了 。通过删除它,您无需担心在http和https之间切换。http:


答案 1

毫无疑问,我选择让JQuery由Google API服务器提供服务。我没有使用jsapi方法,因为我没有利用任何其他Google API,但是如果这种情况发生了变化,那么我会考虑它......

第一:Google API服务器分布在世界各地,而不是我的单一服务器位置:更近的服务器通常意味着访问者的响应时间更快。

第二:许多人选择在Google上托管JQuery,因此当访问者访问我的网站时,他们可能已经在本地缓存中安装了JQuery脚本。预缓存的内容通常意味着访问者的加载时间更快。

第三:我的网络托管公司向我收取使用的带宽费用。如果访问者可以在其他地方获得相同的文件,则每个用户会话消耗18k是没有意义的。

我明白,我对Google有一部分信任,可以提供正确的脚本文件,并在线和可用。到目前为止,我还没有对使用Google感到失望,并将继续这种配置,直到它有意义为止。

有一件事值得指出...如果您的网站上同时存在安全网页和不安全网页,则可能需要动态更改 Google 来源,以避免在安全网页中加载不安全内容时看到的常见警告:

以下是我想出的:

<script type="text/javascript">
    document.write([
        "\<script src='",
        ("https:" == document.location.protocol) ? "https://" : "http://",
        "ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js' type='text/javascript'>\<\/script>" 
    ].join(''));
</script>

2010 年 9 月 8 日更新 - 已提出一些建议,通过删除 HTTP 和 HTTPS 并仅使用以下语法来降低代码的复杂性:

<script type="text/javascript">
    document.write("\<script src='//ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js' type='text/javascript'>\<\/script>");
</script>

此外,如果您想确保加载了jQuery库的最新主要版本,您还可以更改url以反映jQuery主编号:

<script type="text/javascript">
    document.write("\<script src='//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js' type='text/javascript'>\<\/script>");
</script>

最后,如果您不想使用Google并且更喜欢jQuery,则可以使用以下源路径(请记住,jQuery不支持SSL连接):

<script type="text/javascript">
    document.write("\<script src='http://code.jquery.com/jquery-latest.min.js' type='text/javascript'>\<\/script>");
</script>

答案 2

您可能希望在外部服务器上托管的一个原因是解决与特定服务器的并发连接的浏览器限制。

但是,鉴于您使用的jQuery文件可能不会经常更改,浏览器缓存将启动并使该点在大多数情况下没有意义。

将其托管在外部服务器上的第二个原因是降低到您自己的服务器的流量。

但是,考虑到jQuery的大小,它很可能只是您流量的一小部分。您应该尝试优化实际内容。