jquery CDN的后备无法正常工作

时间:2014-07-22 22:12:00

标签: javascript jquery html5 cdn fallback

我在测试页面上有以下jQuery CDN后备。我正在使用chrome和IE进行本地测试。 CDN未加载。如果我在CDN中使用http://它会加载,但如果我删除它并只使用//这对我没有意义。如果脚本没有加载条件语句,则应在本地加载,但事实并非如此。如果我更换

document.write('<script src="/scripts/jquery-2.1.1.min.js"><\/script>')

document.write('undefined')

然后我在大约5秒后在页面上得到未定义的单词。我没有正确地打屁股吗?这是我的html页面:

<!DOCTYPE html>
<html>
<head>
    <title>jQuery</title>
</head>
<body>

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>
<script>
(window.jQuery || document.write('<script src="/scripts/jquery-2.1.1.min.js">
 <\/script>'));
</script>
<script>
  $(document).ready(function() {
    alert( "welcome" );
  });
</script>
</body>
</html>

1 个答案:

答案 0 :(得分:5)

您可能正在使用file://协议加载页面。 //协议的确切含义是&#34;使用我正在使用的相同协议&#34;。如果您正在查看file://C:/Users/Me/test.html,那么您的//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js将成为您的计算机上不是有效文件路径的URI file://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js。如果要在本地进行测试,则需要在链接中使用http://协议,或者在IIS上托管项目或在框中托管apache。