web-dev-qa-db-fra.com

Le code JavaScript de Bootstrap nécessite jQuery version 1.9.1 ou supérieure, mais inférieure à la version 3

Introduction

Je travaille avec le framework bootstrap. Je travaille actuellement sur "Bootstrap Tabs" (masquer/afficher).

Problème

Mes onglets ne fonctionnent pas, sauf si je charge jquery de version inférieure à 1.6.Mais alors ajax rendant problème avec jquery inférieur à 1.6 La console Chrome me donne cette erreur.

bootstrap.min.js: 6 Erreur non capturée: le JavaScript de Bootstrap requiert jQuery version 1.9.1 ou supérieure, mais inférieure à la version 3

J'ai essayé différentes techniques de secours mais je ne pouvais pas l'implémenter correctement.

Je suis coincé ici pendant 2 jours. Si quelqu'un a une idée ou une référence, aidez-nous. Merci pour votre temps.

16
Suhail Mumtaz Awan

Actuellement, Bootstrap 3.x ne prend pas en charge jQuery 3.x comme indiqué ici: https://github.com/twbs/bootstrap/issues/16834

Le problème est causé par:

jQuery 3 est plus strict que jQuery 2. C'est comme XHTML et HTML . La compatibilité en amont est préservée et le code ne ressemble pas à un gâchis . Si je ne me trompe pas, tout ce que vous avez à faire est de remplacer show () et hide () fonctionne avec .css ('display', '') ou addClass ('hidden') et corrige un sélecteur dans alert.js (QUnit échoue sur cette ligne car $ ('#') est invalide dans jQuery 3)

Il est corrigé dans la version 3.3.7 de Bootstrap: https://github.com/twbs/bootstrap/issues/16834#issuecomment-225039913

11
Irvin Dominin

La dernière version actuelle de Bootstrap (3.3.7) prend désormais en charge jQuery 3+, selon le commentaire du développeur ici/ https://github.com/twbs/bootstrap/issues/16834 .

7
aleor

Si vous utilisez Bower pour gérer vos packages javascript, pour exclure jquery 3.0, vous devez spécifier la version de jquery suivante:

"jquery": "^2.2"

dans votre bower.json.

Le package bower.json of jquery-ui a la ligne suivante:

"jquery": ">=1.6"

À cause de cela, Bower installe la dernière version de jQuery, ce qui cause votre problème.

Notez que jQuery 3.0 est disponible depuis le 9 juin 2016.

3
Tsutomu

Ce qui a résolu mon problème est en fait de charger la version inférieure de jquery avant bootstrap.js, puis de charger la version supérieure de jquery après bootstrap.js pour résoudre les conflits.Above est mon exemple.

<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>
3
Suhail Mumtaz Awan

J'ai eu le même problème et je n'ai pas jquery 1.8.2 dans mes pages Web. Je résous mon problème en modifiant la version de jquery dans packages.config

changement

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

ma version de jquery est 2.1.4

1
Mohsen Abdollahi

J'avais donc la nouvelle version de Bootstrap, mais pour une raison quelconque, la version min était toujours l'ancienne version, qui ne supportait pas JQuery 3. J'ai supprimé le bootstrap minified JS, puis j'ai reminifié le nouveau Bootstrap.js, puis déployé et le problème a disparu.

1
Chad

Quant à moi, tout est simple. C'est tout sur les fichiers de liens de file d'attente. J'ai besoin de déplacer des liens comme ceci:

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

Après tout, cela fonctionne correctement.

1
Юр Влад