下载了免费模板但得到了:ReferenceError:jQuery没有定义

时间:2016-01-05 16:52:11

标签: javascript jquery twitter-bootstrap-3

当我在本地下载并运行此template时,我在ReferenceError: jQuery is not defined中收到错误scripts.js。我没有更改模板中的任何内容。

我检查确保JQuery是第一个加载的脚本,并且JQuery脚本似乎正在工作......但scripts.js文件似乎没有加载。您可以在索引文件的底部看到它:

</div>
<!--scripts loaded here from cdn for performance -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/wow/1.1.2/wow.js"></script>
<script src="js/scripts.js"></script>

为什么会发生这种错误?

2 个答案:

答案 0 :(得分:0)

问题在于协议。 //协议内的file://协议不起作用。我的猜测是你没有在localhost上运行它。如果您希望这些内容在此协议中运行,请在http:网址前面添加//进行测试,看看问题是否正常

更新脚本代码

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/wow/1.1.2/wow.js"></script>
<script src="js/scripts.js"></script>

答案 1 :(得分:0)

//用于帮助浏览器根据您使用的协议为您选择协议。如果您使用的是https,那么它会尝试使用https协议 - 这样Google就可以自由地在安全协议和不安全协议之间移动您。但是,file://可以被视为私有协议,浏览器不应该真正访问它。最重要的是,我非常怀疑你的计算机上有匹配的位置无论如何。你有一个文件夹:

ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js

我对此表示怀疑。因此,jQuery的获取失败是因为匹配协议是file而不是http,这是不允许的!您可以轻松地使用其中一个修复程序。

第一种是在http:之前添加https:file(尽管可能无效,因为//不被视为安全)。

第二个,我推荐的是使用localhost。您可以通过MAMP查看简单的GUI,或者Vagrant获得极大的灵活性,但许多系统允许您在网站上的地址上托管您的网站&#39;并考虑“家庭&#39;同时。当您在这样的网络服务器上运行页面时,您将获得在网络服务器上获得的所有好处,而无需实际存在于实际的网络服务器上,因此请查看这些内容,因为它们将使网络开发变得更加容易。从那时起,您的网站可能会托管在类似的内容上:http://localhost:8888 - 但正如您所看到的,协议现在排成一行,一切都开始有效。