首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用谷歌托管jQuery的最佳方式,但回退到我在谷歌上的托管库失败

使用谷歌托管jQuery的最佳方式,但回退到我在谷歌上的托管库失败
EN

Stack Overflow用户
提问于 2009-06-18 17:51:33
回答 14查看 163.1K关注 0票数 1K

有什么好方法可以尝试加载the hosted jQuery at Google (或其他谷歌托管库),但如果谷歌尝试失败,加载我的jQuery副本?

我并不是说谷歌不靠谱。在某些情况下,谷歌的拷贝被屏蔽了(例如,显然是在伊朗)。

我是否需要设置一个计时器并检查jQuery对象?

两个副本都通过会有什么危险?

并不是真的在寻找像“使用Google one”或者“使用你自己的”这样的答案。我理解这些论点。我也理解用户可能会缓存Google版本。我一般都在考虑云的后备。

编辑:此部分已添加...

由于谷歌建议使用google.load加载ajax库,并在加载完成后执行回调,因此我想知道这是否是序列化这个问题的关键。

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

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

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

EN

回答 14

Stack Overflow用户

发布于 2012-02-23 02:05:36

到目前为止,最简单、最干净的方法是:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="path/to/your/jquery"><\/script>')</script>
票数 336
EN

Stack Overflow用户

发布于 2012-06-27 04:41:31

如果您的站点中嵌入了modernizr.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是否加载成功。如果不是(“not”),则加载本地版本。还加载了您的个人脚本-- "both“表示加载过程独立于测试结果启动。

当所有加载过程完成时,执行一个函数,在这个例子中是'MyApp.init‘。

我个人更喜欢这种异步脚本加载的方式。当我在构建一个站点时,我依赖于modernizr提供的功能测试,所以我把它嵌入到了站点中。所以实际上没有开销。

票数 31
EN

Stack Overflow用户

发布于 2011-01-28 13:49:04

if (typeof jQuery == 'undefined') {
// or if ( ! window.jQuery)
// or if ( ! 'jQuery' in window)
// or if ( ! window.hasOwnProperty('jQuery'))    

  var script = document.createElement('script');
  script.type = 'text/javascript';
  script.src = '/libs/jquery.js';

  var scriptHook = document.getElementsByTagName('script')[0];
  scriptHook.parentNode.insertBefore(script, scriptHook);

}

在你尝试从CDN上收录谷歌的副本之后。

在HTML5中,您不需要设置type属性。

您也可以使用...

window.jQuery || document.write('<script src="/libs/jquery.js"><\/script>');
票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1014203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档