jQuery CDN 回退不起作用

jQuery CDN Fallback Doesn't Work

我正在使用这个问题的第二个答案的解决方案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 应用程序中断(即功能丢失)。

是否有新的回退方法或者我的测试方法有缺陷?

您甚至可以创建一个 script 元素并将其添加到您的头部或 body 顶部,就像这样

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

我离线和在线都试过了,都有效:)