有一些方法来包括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之间切换了。


当前回答

我不得不为谷歌上托管的库投票-1。他们收集数据,谷歌分析风格,与他们的包装这些库。至少,我不希望客户端浏览器做比我要求它做的更多的事情,更不用说页面上的其他事情了。更糟糕的是,这是谷歌不作恶的“新版本”——使用不引人注目的javascript来收集更多的使用数据。

注意:如果他们改变了这种做法,那就太好了。但上次我考虑使用他们的托管库时,我监控了站点上的出站http流量,我没想到会周期性地调用谷歌服务器。

其他回答

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

除了有人建议把它放在自己的服务器上,我还建议把它放在单独的域(例如static.website.com)上,这样浏览器就可以把它加载到与其他内容线程分开的地方。这个技巧也适用于所有静态的东西,比如图像和css。

我不希望自己开发的任何公共站点依赖于任何外部站点,因此,我将自己托管jQuery。

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

I host it with my other js files on my own server, and, that's that point, combine and minify them (with django-compresser, here, but that's not the point) to be served as just one js file, with everything the site needs put into it. You'll need to serve your own js files anyway, so I see no reason to not add the extra jquery bytes there too - some more kbs are much more cheaper to transfer, than more requests to be made. You are not dependent to anyone, and as soon as your minified js is cached, you're super fast as well.

在第一次加载时,基于CDN的解决方案可能会胜出,因为您必须从自己的服务器加载额外的jquery千字节(但是,没有额外的请求)。不过,我怀疑这种差异是否明显。然后,在第一次加载清除缓存时,您自己的托管解决方案可能总是更快,因为需要更多的请求(和DNS查找)来获取CDN jquery。

我想知道为什么这一点几乎从未被提及,以及cdn是如何占领世界的:)

我可能在这方面比较老派,但我还是不喜欢盗链。也许谷歌是个例外,但一般来说,在您自己的服务器上托管文件确实是一种礼貌。