有一些方法来包括jQuery和jQuery UI,我想知道人们使用什么?

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

我最近一直在使用谷歌JSAPI,但发现它需要很长时间来设置SSL连接,甚至只是解析google.com。我一直在使用以下谷歌:

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

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

你用什么?你有什么问题吗?

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

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

Edit2:下面是我如何在过去的一年里没有任何问题地包含jQuery的:

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

区别在于去掉了http:。通过删除这个,您就不需要担心在http和https之间切换了。


当前回答

如果您想使用谷歌,直接链接可能响应更快。每个库都列出了直接文件的路径。这是jQuery路径

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>

重读一下你的问题,你使用https有什么原因吗?这是谷歌在示例中列出的脚本标记

<script src="http://www.google.com/jsapi"></script>

其他回答

毫无疑问,我选择使用谷歌API服务器来提供JQuery服务。我没有使用jsapi方法,因为我没有利用任何其他谷歌API,但是,如果有任何改变,那么我会考虑它…

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

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

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

我知道我对谷歌有一定的信任,以提供正确的脚本文件,并保持在线和可用。到目前为止,我对使用谷歌并没有感到失望,并将继续这种配置,直到它不再有意义为止。

有一件事值得指出…如果你的网站上有安全页面和不安全页面的混合,你可能想动态更改谷歌源,以避免在安全页面中加载不安全内容时经常看到的警告:

这是我想到的:

<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库的最新major版本被加载,你也可以更改url来反映jQuery的major编号:

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

最后,如果你不想使用谷歌而更喜欢jQuery,你可以使用下面的源路径(请记住jQuery不支持SSL连接):

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

如果我负责“活动”网站,我最好知道正在发生的一切 进入我的网站。出于这个原因,我自己托管了jquery-min版本,要么在同一个服务器上,要么在静态/外部服务器上,但无论哪种方式,只有我(或我的程序/代理)可以在验证/测试每个更改后更新库

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

但是,考虑到您正在使用的jQuery文件可能不会经常更改,浏览器缓存会起作用,使这一点在大多数情况下变得毫无意义。

把它放在外部服务器上的第二个原因是降低到自己服务器的流量。

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

优点:谷歌上的主机有好处

可能更快(他们的服务器更优化) 他们正确处理缓存- 1年(我们努力被允许在我们的服务器上进行更改以获得正确的头) 已经在其他域上拥有谷歌托管版本链接的用户已经在他们的缓存中拥有该文件

缺点:

一些浏览器可能会将其视为跨域XSS并禁止该文件。 特别是运行Firefox NoScript插件的用户

我想知道你是否可以包括从谷歌,然后检查一些全局变量的存在,或之类的,如果没有从你的服务器加载?

如果您想使用谷歌,直接链接可能响应更快。每个库都列出了直接文件的路径。这是jQuery路径

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>

重读一下你的问题,你使用https有什么原因吗?这是谷歌在示例中列出的脚本标记

<script src="http://www.google.com/jsapi"></script>