首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery CDN超时回退

jQuery CDN超时回退
EN

Stack Overflow用户
提问于 2013-12-11 22:02:47
回答 1查看 2.4K关注 0票数 4

我在几个地方读过如何在jQuery库的本地副本上退步,如果由google或microsoft托管的链接失败或其他失败。

代码语言:javascript
运行
复制
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
if (typeof jQuery == 'undefined')
{
document.write(unescape("%3Cscript src='/Scripts/jquery-1.3.2.min.js' type='text/javascript'%3E%3C/script%3E"));
}
</script>

然而,我的应用程序在内部网环境中工作,并且偶尔外部jQuery链接不会失败,但是加载需要很长时间(由于外部internet连接问题)。

我想知道是否有一种方法不仅可以使用这样的回退,还可以为CDN链接设置一个超时,这样如果链接需要一定的时间,它就应该失败并调用回退。

类似于:

代码语言:javascript
运行
复制
if(timetoloadjquery > n) {
    Use fallback local jQuery library.
}

也许是某种检查jQuery是否已定义的循环,如果经过多次迭代,它是not....do吗?

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-11 22:06:51

这可能对你有帮助。经过5秒后,Javascript检查jQuery是否可用,如果没有,则从本地服务器加载库。

1.带计时器的

代码语言:javascript
运行
复制
<script>
setTimeout(function() {
  if(window.jQuery) return;
  var n = document.getElementsByTagName("script")[0];
  n.parentNode.insertBefore(document.createElement("script"), n).src = "assets/jQuery/jquery-1.7.2.min.js";
}, 5000);
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>

2.这个版本没有计时器,如果CDN版本失败,它会加载本地版本。

代码语言:javascript
运行
复制
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.js"></script>
<script type="text/javascript">window.jQuery || document.write("<script type='text/javascript' src='js/jquery-1.8.3.min.js'>\x3C/script>")</script>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20530855

复制
相关文章

相似问题

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