在CDN被阻止/不可用的情况下,如何加载本地脚本文件作为后备?[重复]
我将CDN用于以下javascript:
- https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js
- https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/jquery-ui.min.js
- http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.min.js
- http://ajax.aspnetcdn.com/ajax/jquery.validate/1.7/jquery.validate.min.js
对于每个副本,在可能被阻止/不可用的情况下,如何恢复使用本地副本?
回答:
要确认是否加载了cdn脚本,您可以检查该脚本定义的任何变量/函数是否存在,如果未定义-那么cdn失败,您需要加载本地脚本副本。
基于此原理的解决方案如下:
<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()
函数,因此我们可以使用以下代码进行检查:
<script> if (typeof $.tooltip === 'undefined') {
document.write('<script src="js/libs/jquery.tooltip.min.js">\x3C/script>');
}
</script>
以上是 在CDN被阻止/不可用的情况下,如何加载本地脚本文件作为后备?[重复] 的全部内容, 来源链接: utcz.com/qa/397242.html