有一些方法来包括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站点的最新版本:http://code.jquery.com/jquery-latest.pack.js,它符合我的需求,而且我从来不用担心更新。

编辑:对于一个主要的网络应用,当然要控制它;下载并自己提供。但对于我的个人网站,我一点也不在乎。东西不会神奇地消失,它们通常会先被弃用。我对它的了解足以让我知道在未来的版本中需要修改哪些内容。

其他回答

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

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而不是实际文件。一直认为我是安全的,谷歌域永远不会宕机,现在我知道用户和主机之间的任何节点都可能是故障点。

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

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

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

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

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

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

缺点:

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

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