一尘不染

在CDN被阻止/不可用的情况下,如何加载本地脚本文件作为后备?[重复]

javascript


阅读 351

收藏
2020-05-01

共1个答案

一尘不染

要确认是否加载了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>
2020-05-01