J'ai créé un nouveau projet Foundation 5 via bash, avec foundation new my-project
. Lorsque j'ouvre le fichier index.html dans Chrome, une Uncaught TypeError: a.indexOf is not a function
erreur s'affiche dans la console, provenant de jquery.min.js:4
.
J'ai créé le projet en suivant les étapes sur le site de la fondation, mais je n'arrive pas à me débarrasser de cette erreur. Foundation et jQuery semblent être inclus et correctement liés dans le fichier index.html, et le fichier app.js lié inclut$(document).foundation();
Quelqu'un sait-il ce qui cause cette erreur? et quelle solution pourrait être?
la source
$(function() {});
est pour le document prêt, ce qui n'est pas la même chose que l'événement de chargement de fenêtre. De plus, doc ready se déclenche souvent avant le chargement de la fenêtre.Cette erreur est souvent causée par des versions de jQuery incompatibles . J'ai rencontré la même erreur avec un
foundation 6
référentiel. Mon référentiel utilisaitjQuery 3
, mais la fondation nécessite une version antérieure. Je l'ai ensuite changé et cela a fonctionné.Si vous regardez la version de jQuery requise par les dépendances de la fondation 5, elle indique
"jquery": "~2.1.0"
.Pouvez-vous confirmer que vous chargez la bonne version de jQuery?
J'espère que ça aide.
la source
Veuillez ajouter ci-dessous le plugin jQuery Migrate
la source
J'ai aussi fait face à ce problème. J'utilisais
jquery.poptrox.min.js
pour le saut d'image et le zoom et j'ai reçu une erreur qui disait:C'est parce que
indexOf
n'était pas pris en charge dans3.3.1/jquery.min.js
une solution simple à cela est de le changer en une ancienne version2.1.0/jquery.min.js
.Cela m'a arrangé.
la source
L'une des raisons possibles est lorsque vous chargez jQuery TWICE , comme:
Vérifiez donc votre code source et supprimez la charge jQuery en double.
la source
J'utilise
jQuery 3.3.1
et j'ai reçu la même erreur, dans mon cas, l'URL était uneObject
vs une chaîne.Ce qui s'est passé, c'est que j'ai pris
URL = window.location
- ce qui a rendu un objet. Une fois que je l'ai changé enwindow.location.href
- cela a fonctionné sans l'e.indexOf
erreur.la source
J'ai résolu cela en installant la version correcte de
Jquery
celle que mon projet nécessitait en utilisantnpm
la source