Bootstrap不会检测到jQuery 1.11.0 – 未捕获错误:Bootstrap的JavaScript需要jQuery
我正在尝试使用Bootstrap为我正在编写的程序创build一个接口。 我将jQuery添加到<head>
标记中,并认为是这样,但是当我在浏览器中启动网页时,jQuery报告了一个错误: Uncaught Error: Bootstrap's JavaScript requires jQuery
。 我曾尝试使用jQuery 1.9.0,我已经尝试了在几个CDN上托pipe的副本,但我无法得到它的工作。 这是我的html文件, 这是我的目录的布局。 有人知道我在做什么错了吗?
尝试这个
改变它应该像下面的文件的顺序..
<script src="js/jquery-1.11.0.min.js"></script> <script src="js/bootstrap.min.js"></script> <script src="js/wow.min.js"></script>
如果您处于仅限浏览器的环境中 ,请使用@SridharR的解决scheme。
如果你在一个Node / CommonJS +浏览器环境 (例如电子,node-webkit等)。 这个错误的原因是,jQuery的导出逻辑首先检查module
,而不是window
:
if (typeof module === "object" && typeof module.exports === "object") { // CommonJS/Node } else { // window }
请注意,在这种情况下它通过module.exports
输出。 所以jQuery
和$
不分配给window
。
所以要解决这个问题,而不是<script src="path/to/jquery.js"></script>
;
只需通过一个require
声明自行分配:
<script> window.jQuery = window.$ = require('jquery'); </script>
注意:如果您的电子应用程序不需要nodeIntegration
,将其设置为false
所以您将不需要此解决方法。
你应该首先加载jquery,因为bootstrap使用jquery特性。 喜欢这个:
<!doctype html> <html> <head> <link type="text/css" rel="stylesheet" src="css/animate.css"> <link type="text/css" rel="stylesheet" src="css/bootstrap-theme.min.css"> <link type="text/css" rel="stylesheet" src="css/bootstrap.min.css"> <link type="text/css" rel="stylesheet" href="css/custom.css"> <!-- Shuffle your scripts HERE --> <script src="js/jquery-1.11.0.min.js"></script> <script src="js/bootstrap.min.js"></script> <script src="js/wow.min.js"></script> <!-- End --> <title>pyMeLy Interface</title> </head> <body> <p class="title1"><strong>pyMeLy</strong></p> <p class="title2"><em> A stylish way to view your media</em></p> <div style="text-align:center;"> <button type="button" class="btn btn-primary">Movies</button> <button type="button" class="btn btn-primary btn-lg">Large button</button> </div> </body> </html>
你需要添加JQuery之前添加bootstrap-
<!-- JQuery Core JavaScript --> <script src="lib/js/jquery.min.js"></script> <!-- Bootstrap Core JavaScript --> <script src="lib/js/bootstrap.min.js"></script>
您为JAVASCRIPT和BOOTSTRAP提供了错误的顺序
按照惯例bootstrap必须遵循jquery文件的定义
<!-- JQuery Core JavaScript --> <script src="lib/js/jquery.min.js"></script> <script src="lib/js/jquery-ui.min.js"></script> <!-- Bootstrap Core JavaScript --> <script src="lib/js/bootstrap.min.js"></script>
在我的情况下,解决scheme非常愚蠢,而且很奇怪。
下面的代码是由_Layout.cshtml文件预填充的。 (不是我写的)
<script src="~/Scripts/jquery-1.10.2.min.js"></script> <script src="~/Scripts/bootstrap.min.js"></script>
但是,当我在脚本文件夹中validation,jquery-1.10.2.min.js甚至不可用。 因此,replace下面的代码,其中jquery-1.9.1.min.js是一个现有的文件:
<script src="~/Scripts/jquery-1.9.1.min.js"></script> <script src="~/Scripts/bootstrap.min.js"></script>
我使用NodeJS并得到相同的错误。 像其他答案一样,问题也是因为JQuery需要在Bootstrap之前加载; 但是,由于NodeJS特性,这个改变必须在pipeline.js文件中加以应用 。
pipeline.js的变化是这样的:
var jsFilesToInject = [ // Dependencies like jQuery, or Angular are brought in here 'js/dependencies/angular.1.3.js', 'js/dependencies/jquery.js', 'js/dependencies/bootstrap.js', 'js/dependencies/**/*.js', ];
我也使用grunt来帮助,它会自动更改主html页面中的顺序:
<!--SCRIPTS--> <script src="/js/dependencies/angular.1.3.js"></script> <script src="/js/dependencies/jquery.js"></script> <script src="/js/dependencies/bootstrap.js"></script> <!-- other dependencies --> <!--SCRIPTS END-->
希望它有帮助! 你没有说你的环境是什么,所以我决定发表这个答案。
如果你的代码看起来不错,请确认jQuery已成功加载到你的服务器上。 在我的情况下,jQuery文件是由我的IDE发布到服务器,但Web服务器只有一个0 KB的文件存根。 没有内容,服务器无法将文件提供给浏览器。
重新发布文件并validation服务器实际接收到整个文件后,我的网页停止给我的错误。
在处理这个问题之后,我采取了三个步骤:1.在1.9.0和3.0.0之间使用JQuery版本2.在声明引导文件之前声明JQuery文件3.在标记底部声明这两个脚本文件,而不是在里面 。 这些为我工作,但可能会有不同的行为基于您使用的浏览器。
祝一切顺利
在添加bootstrap js文件之前,您需要添加JQuery js,因为BootStrap使用jqueries函数。 所以请确保先加载jquery js,然后再加载bootstap js文件。
<!-- JQuery Core JavaScript --> <script src="app/js/jquery.min.js"></script> <!-- Bootstrap Core JavaScript --> <script src="app/js/bootstrap.min.js"></script>
如果仅发生IE Intranet,请检查兼容性设置,并取消选中“在兼容模式下显示Intranet站点”。
IE – >设置 – >兼容性
对我来说,在Bootstrap之前我有JQuery,但是一个不兼容的版本。
看到twitter引导3 jQuery的最低版本
我正在使用Bootstrap Beta 4,它使用jquery 1.12.4,但不是3.2.1。