jQuery CDN后备不起作用

时间:2015-01-27 16:41:59

标签: jquery cdn fallback google-cdn

我正在使用此问题的第二个答案的解决方案Best way to use Google's hosted jQuery, but fall back to my hosted library on Google fail

该解决方案表示,如果Google的CDN无法正常运行,请使用以下代码为jQuery的本地副本提供回退:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>if (!window.jQuery) { document.write('<script src="/path/jquery.1.11.1.min.js"><\/script>'); }
</script>

我已实现此代码并在安装了IIS的本地计算机上运行它。只要我有互联网连接,它就可以正常工作。如果我禁用我的互联网连接,它不会回到我的本地jQuery副本,并且Web应用程序中断(即功能丧失)。

是否有新方法可以做后备或者我的测试方法存在缺陷?

1 个答案:

答案 0 :(得分:2)

您甚至可以创建一个script元素并将其头部或身体添加到顶部,如下所示

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>

         <script>
            if(!window.jQuery){
              var script = document.createElement('script');
              script.src = 'jquery-1.11.2.min.js';
              document.head.appendChild(script);
            }    
         </script>

我在离线和在线都尝试过它并且有效:)