当前位置:  开发笔记 > 编程语言 > 正文

你在哪里包含jQuery库?谷歌JSAPI?CDN?

如何解决《你在哪里包含jQuery库?谷歌JSAPI?CDN?》经验,为你挑选了7个好方法。

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

谷歌JSAPI

jQuery的网站

你自己的网站/服务器

另一个CDN

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



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

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

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


编辑2:这是我去年包括jQuery没有任何问题的方式:


不同的是删除http:.通过删除它,您不必担心在http和https之间切换.



1> Dscoduc..:

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

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

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

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

我了解到,我将一部分信任放在Google上,以提供正确的脚本文件,并在线提供.到目前为止,我对使用谷歌并没有感到失望,并将继续这种配置,直到它有意义为止.

有一点值得指出......如果您的网站上有安全页面和不安全页面的混合,您可能需要动态更改Google源代码,以避免在安全页面中加载不安全内容时看到的通常警告:

这是我想出的:


更新20109月8日 - 通过删除HTTP和HTTPS并简单地使用以下语法,已经提出了一些建议来降低代码的复杂性:


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


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



我同意你的所有三个原因,这就是为什么我在我的生产网站上包含来自谷歌的jquery.我没有指定协议,而是在脚本标记中引用url而不是SSL页面的js动态注入.似乎对我来说很好.

只是重新阅读您的问题,您有使用https的原因吗?这是Google在其示例中列出的脚本标记



使用HTTPS因为网站是HTTPS,所以有点必须.
https网站上的http链接很烦人,因为IE(至少在默认情况下)会让你烦恼"这个网站包含安全和不安全内容的混合物".确认框.

5> slacy..:

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

当其他(Google,jquery.com等)发生故障时,您是否愿意在您的网站上停电?较少的依赖关系是关键.


如果谷歌不起作用,互联网可能会下降:P
使用本地副本还有其他充分的理由:谷歌经常在伊朗,中国等许多国家被封锁.这意味着超过10亿人无法访问.
嗯... slacy正在使用谷歌分析?他不是只是说他不希望他开发的任何公共网站依赖外部网站吗?;-)
我将用户体验(快速加载时间)放在那里,具有较少的依赖性.

6> Kristen..:

优点:Google上的主机有好处

可能更快(他们的服务器更优化)

他们正确处理缓存 - 1年(我们很难做出更改,以便在我们的服务器上获得正确的标题)

已在另一个域上拥有指向Google托管版本的链接的用户已在其缓存中包含该文件

缺点:

某些浏览器可能会将其视为XSS跨域并禁止该文件.

特别是运行Firefox NoScript插件的用户

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


这是Firefox的缺点,而不是谷歌的.)

7> cletus..:

这里有一些问题.首先,您指定的异步加载方法:



有几个问题.脚本标记在检索页面时会暂停页面加载(如有必要).现在,如果加载速度慢,这很糟糕,但jQuery很小.上面的方法,真正的问题是,由于负载的jquery.js许多网页独立发生,他们将完成加载和渲染的jQuery加载所以任何jQuery的造型你这样做将是一个前对用户可见的变化.

另一种方式是:


尝试一些简单的例子,有一个简单的表,并使用setOnLoadCallback()方法将单元格的背景更改为黄色,并使用静态jquery.min.js加载将$(document).ready()更改为黄色.第二种方法没有明显的闪烁.第一个会.就个人而言,我认为这不是一个好的用户体验.

举个例子来运行:



  Layout
  


OneTwo
ThreeFour
FiveSix
SevenNine
NineTen

您(应该)看到表格出现,然后行变黄.

google.load()方法的第二个问题是它只托管有限范围的文件.这是jquery的一个问题,因为它非常依赖插件.如果您尝试,包括有一个jQuery插件

喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有