307 votes

Erreur "Uncaught TypeError: a.indexOf n'est pas une fonction" lors de l'ouverture d'un nouveau projet de fondation

J'ai créé une nouvelle base 5 du projet par le biais de bash, foundation new my-project. Quand j'ai ouvert la index.html fichier dans google Chrome, un Uncaught TypeError: a.indexOf is not a function d'erreur est affiché dans la console, originaires jquery.min.js:4.

J'ai créé le projet en suivant les étapes sur le site de la fondation, mais je n'arrive pas à se débarrasser de cette erreur. Fondation et jQuery regardez comme ils sont inclus et lié correctement dans la index.html fichier, et le lien app.js fichier y compris l' $(document).foundation();

Personne ne sait ce qui est à l'origine de cette erreur? et quelle solution peut-être?

Console error message screenshot

993voto

Daniel Llano Points 5280

Cette erreur peut être causée par des alias d'événements jquery tels que .load , .unload ou .error obsolètes depuis jQuery 1.8. Recherchez ces alias dans votre code et remplacez-les par .on() pour enregistrer les écouteurs à la place. Exemple:

$(window).load(function(){...});

devient:

$(window).on('load', function(){ ...});

36voto

shaune Points 635

Cette erreur est souvent causée par incompatibles jQuery versions. J'ai rencontré la même erreur avec un foundation 6 référentiel. Mon référentiel a l'aide d' jQuery 3, mais la fondation exige une version antérieure. J'ai ensuite changé et cela a fonctionné.

Si vous regardez la version de jQuery requis par la fondation 5 dépendances il déclare "jquery": "~2.1.0".

Pouvez-vous confirmer que vous êtes le chargement de la bonne version de jQuery?

J'espère que cette aide.

20voto

Harshit Pant Points 343

J'ai fait face à ce problème aussi. J'utilisais jquery.poptrox.min.js pour le zoom et le zoom sur une image et j'ai reçu une erreur qui dit:

Erreur "Uncaught TypeError: a.indexOf n'est pas une fonction" .

Cela est dû au fait que cela n’a pas été pris en charge dans 3.3.1 / jquery.min.js. Il est donc possible de le remplacer par une ancienne version 2.1.0 / jquery.min.js.

De cette façon, j'ai pu le réparer pour moi.

14voto

snm-yah Points 2067

Une des raisons possibles est le chargement de jQuery TWICE , par exemple:

 <script src='...../jquery.js'></script>
....
....
....
....
....
<script src='...../jquery.js'></script>
 

Vérifiez donc votre code source et supprimez la charge jQuery en double.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X