我将CDN用于以下javascript:
对于每个副本,在可能被阻止/不可用的情况下,如何恢复使用本地副本?
要确认是否加载了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()函数,因此我们可以使用以下代码进行检查:
$.tooltip()
<script> if (typeof $.tooltip === 'undefined') { document.write('<script src="js/libs/jquery.tooltip.min.js">\x3C/script>'); } </script>