有一些方法来包括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。

当其他站点(谷歌,jquery.com等)宕机时,您是否愿意在您的站点上停机?减少依赖是关键。

其他回答

我将添加这一点作为本地托管这些文件的理由。

Recently a node in Southern California on TWC has not been able to resolve the ajax.googleapis.com domain (for users with IPv4) only so we are not getting the external files. This has been intermittant up until yesterday (now it is persistant.) Because it was intermittant, I was having tons of problems troubleshooting SaaS user issues. Spent countless hours trying to track why some users were having no issues with the software, and others were tanking. In my usual debugging process I'm not in the habit of asking a user if they have IPv6 turned off.

我无意中发现了这个问题,因为我自己正在使用这个特定的“路由”到文件,而且只使用IPV4。我发现了开发工具告诉我jquery没有加载的问题,然后开始做traceroutes等…找到真正的问题。

在此之后,我很可能永远不会回到外部托管文件,因为:谷歌不必因为这成为一个问题而崩溃,而且……这些节点中的任何一个都可能被DNS劫持,并传递恶意js而不是实际文件。一直认为我是安全的,谷歌域永远不会宕机,现在我知道用户和主机之间的任何节点都可能是故障点。

jQuery 1.3.1 min的大小只有18k。我不认为这是一个太大的打击,要求在初始页面加载。它会在那之后被缓存。因此,我自己主持。

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

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

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

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

负责人:

  (function() {
    var jsapi = document.createElement('script'); jsapi.type = 'text/javascript'; jsapi.async = true;
    jsapi.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'www.google.com/jsapi?key=YOUR KEY';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('head')[0]).appendChild(jsapi);
  })();

正文结尾:

<script type="text/javascript">
google.load("jquery", "version");
</script>

这里有一些有用的资源,希望可以帮助你选择你的CDN。 微软最近为通过他们的CDN交付图书馆添加了一个新的域名。

旧格式:http://ajax.microsoft.com/ajax/jQuery/jquery-1.5.1.js 新格式:http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.1.js

这不会为microsoft.com发送所有cookie。 http://www.asp.net/ajaxlibrary/cdn.ashx#Using_jQuery_from_the_CDN_11

这里有一些关于所有技术中最流行的网络技术的统计数据。 http://trends.builtwith.com/

希望可以帮助您选择。