繁体   English   中英

jQuery CDN超时回退

[英]jQuery CDN timeout fallback

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

<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>

我的应用程序在Intranet环境中工作,但偶尔外部jQuery链接不会失败,但需要很长时间才能加载(由于外部Internet连接问题)。

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

就像是:

if(timetoloadjquery > n) {
    Use fallback local jQuery library.
}

也许某种循环检查是否定义了jQuery,如果经过这么多次迭代后它不是......做其他事情?

谢谢您的帮助。

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

1.带定时器

<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版本失败,它会加载本地版本。

<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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM