【问题标题】:Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3Bootstrap 的 JavaScript 需要 jQuery 版本 1.9.1 或更高,但低于版本 3
【发布时间】:2016-10-22 13:10:38
【问题描述】:

简介

我正在使用引导框架。我目前正在使用“引导选项卡”(隐藏/显示)。我正在使用引导版本 3 和 jquery 版本 3.0.2 的东西。

问题

我的选项卡无法正常工作,除非我加载版本低于 1.6 的 jquery。但随后 ajax 导致 jquery 低于 1.6 出现问题。 Chrome 控制台给我这个错误。

bootstrap.min.js:6 未捕获的错误:Bootstrap 的 JavaScript 需要 jQuery 版本 1.9.1 或更高,但低于版本 3

我尝试了不同的后备技术,但无法正确实施。

我在这里卡了 2 天,如果有人有任何想法或任何参考,请提供帮助。感谢您的时间。

【问题讨论】:

  • 使用jquery.migrate.js或同时使用两个版本并声明$.noConflict

标签: javascript jquery twitter-bootstrap-3


【解决方案1】:

目前 Bootstrap 3.x 不支持 jQuery 3.x,如下所述:https://github.com/twbs/bootstrap/issues/16834

问题是由以下原因引起的:

jQuery 3 比 jQuery 2 更严格。它就像 XHTML 和 HTML。 保留了向后兼容性,并且代码看起来并不混乱。 如果我没记错的话,你需要做的就是替换 show() 和 hide() 具有 .css('display', '') 或 addClass('hidden') 的函数并修复 alert.js 中的选择器(QUnit 在这一行失败,因为 $('#') 是 在 jQuery 3 中无效)

在 Bootstrap 3.3.7 版本中已修复:https://github.com/twbs/bootstrap/issues/16834#issuecomment-225039913

【讨论】:

  • 感谢您的回答,+1 帮助
  • @IrvinDominin 在将 jquery 升级到 3.2.1 并在 VS2017 中将 Bootstrap 升级到 v4.0.0-alpha.6 后,我仍然遇到同样的错误。有什么建议吗?
【解决方案2】:

如果您使用 Bower 来管理您的 javascript 包,要排除 jquery 3.0,您应该指定 jquery 的版本,例如:

"jquery": "^2.2"

在你的bower.json

jquery-ui 包的bower.json 有以下一行:

"jquery": ">=1.6"

因为它 Bower 安装了最新版本的 jQuery,这导致了你的问题。

请注意,jQuery 3.0 于 2016 年 6 月 9 日发布。

【讨论】:

  • 感谢回复,是的,我解决了问题,+1 寻求帮助
【解决方案3】:

解决我的问题实际上是在 bootstrap.js 之前加载 jquery 较低版本,然后在 bootstrap.js 之后加载 jquery 较高版本以解决冲突。以上是我的示例

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="~/App_Theme/bootstrap/js/bootstrap.min.js"></script>
<script>
    var $j = jQuery.noConflict();
</script>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<script>
    var $ = jQuery.noConflict();
</script>

【讨论】:

  • 这会加载 jQuery 两次。
【解决方案4】:

对我来说,一切都很简单。这都是关于队列链接文件的。我需要像这样移动链接:

<head>
     <script src="js/jquery1.9.1.js"></script>
     <script src="js/bootstrap.js"> </script>       
</head>

毕竟 - 它工作正常。

【讨论】:

    【解决方案5】:

    Bootstrap (3.3.7) 的最新当前版本现在支持 jQuery 3+,根据开发人员在此处https://github.com/twbs/bootstrap/issues/16834 的评论。

    【讨论】:

    • 如果您使用的是 VS,请确保 Bootstrap 的缩小版本是新版本。更新不会创建新的缩小文件。
    【解决方案6】:

    我有同样的问题,我的网页中没有 jquery 1.8.2。我通过在 packages.config

    中更改 jquery 的版本来解决我的问题

    改变

      <package id="AspNet.ScriptManager.jQuery" version="1.8.2" targetFramework="net45" />
     <package id="jQuery" version="1.8.2" targetFramework="net45" />
    

    <package id="AspNet.ScriptManager.jQuery" version="2.1.4" targetFramework="net45" />
     <package id="jQuery" version="2.1.4" targetFramework="net45" />
    

    我的 jquery 版本是 2.1.4

    【讨论】:

      【解决方案7】:

      所以我有了新版本的 Bootstrap,但由于某种原因,最小版本仍然是不支持 JQuery 3 的旧版本。我删除了缩小的 bootstrap JS,然后重新优化了新的 Bootstrap.js 并部署了问题离开。

      【讨论】:

        【解决方案8】:

        迁移到 wordpress 5.6 后,我遇到了同样的问题:bootstrap 和 jquery 之间的冲突。 我网站上的导航不适用于所有下拉菜单。 我已将我的文件夹 css + js 中的 boostrap3.3.6 更改为 boostrap3.3.7 以获取一个使用 jquery 1.9.1 的引导程序并且它可以工作。

        【讨论】:

          【解决方案9】:

          我在 WordPress 5.6 中也遇到了这个错误,手风琴停止工作。将 JS 和 CSS 从 boostrap3.3.6 升级到 boostrap3.3.7 也解决了我的错误。

          【讨论】:

            【解决方案10】:

            将此代码放在 Functions.php 中

            wp_deregister_script(‘jquery’);
            wp_register_script(‘jquery’, ‘//cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js’, false, null);
            wp_enqueue_script(‘jquery’);
            

            这里是参考网址: https://wordpress.org/support/topic/error-bootstraps-javascript-requires-at-least-jquery-v1-9-1/

            【讨论】:

              猜你喜欢
              • 2015-05-24
              • 1970-01-01
              • 1970-01-01
              • 2015-10-24
              • 2013-09-24
              • 1970-01-01
              • 2016-03-28
              • 2020-12-11
              • 1970-01-01
              相关资源
              最近更新 更多