使用google.load('jQuery',..)与直接包含托管脚本URL相比有什么优势
What are advantages of using google.load('jQuery', ...) vs direct inclusion of hosted script URL?
Google在以下位置托管了一些流行的JavaScript库:http://code.google.com/apis/ajaxlibs/
根据谷歌:
加载库最强大的方法是使用google.load()…
使用的真正优势是什么
google.load("jquery", "1.2.6")
与。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
除了谷歌能够根据请求将多个文件捆绑在一起之外,使用Google.load没有任何好处。事实上,如果你知道你想要使用的所有库(比如jQuery 1.2.6),你可能会让用户的浏览器执行一个不需要的HTTP连接。由于使用谷歌托管的全部目的是减少带宽消耗和响应时间,如果你只使用一个库,最好的决定是直接调用该库。
此外,如果你的网站将使用任何SSL证书,你需要通过谷歌的HTTPS连接调用脚本来进行计划。从http页面调用https脚本没有坏处,但从https页面调用http脚本会导致比你想象的更模糊的调试问题。
- 它允许您在任何需要的地方动态加载代码中的库
- 因为它允许您在javascript中直接切换到库的新版本,而无需强制您在整个网站上重建/更改模板
它允许谷歌更改URL(但他们不能,因为URL方法已经建立)
理论上,如果你做了几个google.load(),谷歌可以将其捆绑到一个文件中,但我认为这还没有实现。
我发现它对于测试不同的库和不同的方法非常有用,特别是如果你不习惯它们,并且想并排查看它们的差异,而不必下载它们。这样做的主要原因之一似乎是,与同步脚本调用相比,它是异步的。你还可以得到一些直接包含在谷歌加载程序中的整洁的东西,比如客户端位置。你可以从中获得他们的纬度和经度。不一定有用,但如果你打算做有针对性的广告或类似的事情,它可能会有所帮助。
更不用说动态加载总是有用的。特别是为了平滑初始站点负载。将最初的"站点加载时间"尽可能地缩短是每个网页设计师都在进行的一场艰苦的战斗。
您可能只想在特殊条件下加载库。
此外,google.load方法可以加快初始页面的显示速度。否则,如果在html代码中包含脚本标记,则页面呈现将冻结,直到加载文件为止。
就我个人而言,我很感兴趣的是,对于已经加载了该库的浏览器来说,是否有缓存的好处。似乎有人浏览到谷歌并加载了正确的jQuery库,然后浏览到我的网站并加载了合适的jQuery。。。两者都可能使用相同的缓存jQuery。不过,这只是一种推测性的可能性。
编辑:是的,至少在使用直接脚本标记到该位置时,如果有人已经从谷歌上调用了javascript库(例如,如果它被其他网站包含),那么javascript库将被缓存。
如果您要编写一船只在特定事件发生时使用该库的JavaScript,您可以等到事件发生时再下载该库,这样可以避免那些最终没有触发事件的人收到不必要的HTTP请求。然而,对于像Prototype+Scriptaculous这样下载超过300kb JavaScript代码的库来说,这是不现实的。
- Java脚本将URL转换为已保存的URL时出错
- 将1添加到URL部分的脚本
- Java脚本访问Location标头's OAuth 2的URL片段
- 是否可以添加<脚本>添加'_someTag'到iFrame中的URL
- URL内部的元标记和脚本处理
- /如何使用java脚本在safari浏览器中获取活动的Tab url
- ASP.Net MVC 脚本无法使用控制器的默认操作 URL.使用控制器/操作 URL 也是如此
- 仅在 url 索引上运行脚本
- 谷歌应用脚本中的 UrlFetchApp.fetch 删除 url 参数
- 给定一个 url,脚本如何找到加载的资源
- 选择下拉列表需要在选中时显示提供商的详细信息-无法通过我的脚本显示url
- 我如何向这个脚本添加一个点击按钮循环URL函数(按给定顺序在URL之间切换),或者这可能吗
- 如何在访问其他url时在nodewebkit中注入脚本
- 用于浏览器检测和url链接的脚本
- 如何对更改url的脚本进行编程
- 基于url的加载警报框的脚本
- PHP-如何让别人可以'不要更改url中的参数,也不要在刷新页面时再次运行脚本
- 如何使用java脚本变量使用Django反向URL
- 获取包含我的谷歌应用程序脚本的页面的url
- 加载url脚本时的语义ui选项卡在选项卡中不起作用