猿问

使用Google托管的jQuery的最佳方法,但回到我在Google上托管的库失败

什么是尝试加载的好方法?在google托管的jQuery(或者其他谷歌托管的lib),但是如果google尝试失败的话,加载我的jQuery副本呢?

我不是说谷歌是个怪胎。有些情况下谷歌的拷贝被屏蔽了(比如在伊朗)。

我会设置一个计时器并检查jQuery对象吗?

这两份拷贝会有什么危险?

并不是真的在寻找诸如“只使用谷歌一号”或“只使用你自己的”这样的答案。我理解这些论点。我也知道用户可能会缓存Google版本。我在考虑从总体上说云的后遗症。


编辑:这个部分添加了.。

由于Google建议使用google.load加载Ajax库,并在完成时执行回调,所以我想知道这是否是序列化这个问题的关键。

我知道这听起来有点疯狂。我只是想弄清楚是否能以可靠的方式完成。


更新:jQuery现在托管在微软的CDN上。

http://www.asp.net/ajax/cdn/

使用Google托管的jQuery的最佳方法,但回到我在Google上托管的库失败



翻过高山走不出你
浏览 514回答 4
4回答

米琪卡哇伊

如果您在站点上嵌入了现代化的.js,您可以使用内置的yepnope.js异步加载脚本-包括jQuery(带后备功能)。Modernizr.load([{     load : '//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'},{     test : window.jQuery,     nope : 'path/to/local/jquery-1.7.2.min.js',     both : ['myscript.js', 'another-script.js'],     complete : function () {         MyApp.init();     }}]);这将从Google-CDN加载jQuery。然后检查jQuery是否成功加载。如果没有(“NOPE”),则加载本地版本。此外,您的个人脚本被加载-“两者”表示加载过程是独立于测试结果的。当所有加载进程都完成时,将执行一个函数,在“MyApp.init”中。我个人更喜欢这种异步脚本加载方式。而且,当我在构建一个站点时,我依赖于现代主义提供的特性测试,所以我还是把它嵌入到了网站上。所以实际上是没有开销的。
随时随地看视频慕课网APP
我要回答