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