Bootstrap JavaScript требует jQuery версии 1.9.1 или новее, но ниже версии 3

Введение

Я работаю с фреймворком bootstrap. В настоящее время я работаю над "вкладками Bootstrap" (скрыть/показать). Я использую bootstrap версии 3 и jQuery версии 3.0.2.

Проблема

Мои вкладки не работают, если я не загружаю jquery версии менее 1.6. Но тогда проблема ajax с jquery меньше 1.6. Консоль Chrome дает мне эту ошибку.

bootstrap.min.js: 6 Неиспользуемая ошибка: Bootstrap JavaScript требует jQuery версии 1.9.1 или выше, но ниже версии 3

Я пробовал разные методы резервного копирования, но не мог реализовать его правильно.

Я застрял здесь в течение 2 дней, если у кого-то есть идея или какая-либо ссылка, пожалуйста, помогите. Спасибо за ваше время.

Ответы

Ответ 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') и исправить selector в alert.js(QUnit не работает в этой строке, потому что $('#') является недействителен в jQuery 3)

Исправлено в выпуске Bootstrap 3.3.7: https://github.com/twbs/bootstrap/issues/16834#issuecomment-225039913

Ответ 2

Последняя текущая версия Bootstrap (3.3.7) теперь поддерживает jQuery 3+ в соответствии с комментарием разработчика здесь https://github.com/twbs/bootstrap/issues/16834.

Ответ 3

Если вы используете Bower для управления вашими пакетами javascript, чтобы исключить jquery 3.0, вы должны указать версию jquery, например:

"jquery": "^2.2"

в bower.json.

bower.json пакета jquery-ui имеет следующую строку:

"jquery": ">=1.6"

Из-за этого Bower устанавливает последнюю версию jQuery, которая вызывает вашу проблему.

Обратите внимание, что jQuery 3.0 выпущен по состоянию на 9 июня 2016 года.

Ответ 4

То, что решило мою проблему, - это загрузка jquery более низкой версии до загрузки bootstrap.js, а затем загрузка jquery более высокой версии после загрузки bootstrap.js для разрешения конфликтов. В моем примере

<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>

Ответ 5

Что касается меня, все просто. Все о файлах ссылок в очереди. Мне нужно переместить такие ссылки:

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

В конце концов, он работает прокорно.

Ответ 6

У меня была такая же проблема, и у меня не было jquery 1.8.2 на моих веб-страницах. Я решу свою проблему, изменяя версию jquery в packages.config

изменить

  <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. Я удалил мини-загрузочную бутстрап JS, затем повторно запустил новый Bootstrap.js и развернул, и проблема пошла прочь.