我在测试页面上有以下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>
答案 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。