首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >CDN被封/不可用时,如何加载本地脚本文件作为后备?

CDN被封/不可用时,如何加载本地脚本文件作为后备?
EN

Stack Overflow用户
提问于 2011-03-10 17:52:02
回答 10查看 94.9K关注 0票数 151
EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2011-04-04 03:14:41

要确认cdn脚本已加载,您可以检查此脚本定义的任何变量/函数是否存在,如果未定义,则cdn失败,您需要加载本地脚本副本。

基于这个原则的解决方案是这样的:

代码语言:javascript
复制
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.5.1.min.js">\x3C/script>')</script>

(如果没有定义window.jQuery属性,则未加载cdn脚本)。

您可以使用此方法构建自己的解决方案。例如,jquery工具提示插件创建了$.tooltip()函数,所以我们可以像这样用代码检查它:

代码语言:javascript
复制
<script>
    if (typeof $.tooltip === 'undefined') {
        document.write('<script src="js/libs/jquery.tooltip.min.js">\x3C/script>');
    }
</script>
票数 248
EN

Stack Overflow用户

发布于 2011-04-02 17:32:23

我会研究一下像yepnopejs这样的插件

代码语言:javascript
复制
yepnope([{
  load: 'http:/­/ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js',
  complete: function () {
    if (!window.jQuery) {
      yepnope('local/jquery.min.js');
    }
  }
}]);

获取要检查的对象数组,请查看site上的文档

票数 16
EN

Stack Overflow用户

发布于 2011-04-06 14:29:44

代码语言:javascript
复制
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js"></script>
<script>!window.jQuery && document.write(unescape('%3Cscript src="js/libs/jquery-1.4.2.js"%3E%3C/script%3E'))</script>

取自HTML5 Boilerplate

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5257923

复制
相关文章

相似问题

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