Je reçois l'erreur suivante de jQuery une fois qu'il a été mis à jour v3.0.0
.
jquery.js:9612 Uncaught TypeError: url.indexOf is not a function
Une idée pourquoi?
Je reçois l'erreur suivante de jQuery une fois qu'il a été mis à jour v3.0.0
.
jquery.js:9612 Uncaught TypeError: url.indexOf is not a function
Une idée pourquoi?
Réponses:
Mettez à jour tout votre code qui appelle des load
fonctions comme,
$(window).load(function() { ... });
À
$(window).on('load', function() { ... });
jquery.js: 9612 TypeError non intercepté: url.indexOf n'est pas une fonction
Ce message d'erreur provient de la jQuery.fn.load
fonction.
J'ai rencontré le même problème sur ma demande. Après avoir creusé, j'ai trouvé cette déclaration dans le blog jQuery ,
.load, .unload et .error, obsolètes depuis jQuery 1.8, ne sont plus . Utilisez .on () pour enregistrer les écouteurs.
Je change simplement la façon dont mes objets jQuery appellent la load
fonction comme ci-dessus. Et tout fonctionne comme prévu.
document.ready
fonction et ça marche comme un charme.
Une meilleure approche peut être un polyfill comme celui-ci
jQuery.fn.load = function(callback){ $(window).on("load", callback) };
Avec cela, vous pouvez laisser le code hérité intact. Si vous utilisez webpack, assurez-vous d'utiliser le chargeur de scripts.
Jquery 3.0 a quelques changements de rupture qui suppriment certaines méthodes en raison de conflits. Votre erreur est probablement due à l'une de ces modifications telles que la suppression de l'événement .load ().
En savoir plus dans le Guide de mise à niveau de jQuery Core 3.0
Pour résoudre ce problème, vous devez soit réécrire le code pour être compatible avec Jquery 3.0, soit utiliser le plug-in JQuery Migrate qui restaure les API et les comportements obsolètes et / ou supprimés.
J'ai rencontré la même erreur après la mise à jour vers la dernière version de JQuery. Par conséquent, j'ai mis à jour le fichier jquery sur lequel je travaillais, comme indiqué dans une réponse précédente, donc il a dit à la .on("load")
place de .load()
.
Ce correctif n'est pas très stable et parfois cela n'a pas fonctionné pour moi. Par conséquent, pour résoudre ce problème, vous devez mettre à jour votre code à partir de:
.load();
à
.trigger("load");
J'ai obtenu ce correctif à partir de la source suivante: https://github.com/stevenwanderski/bxslider-4/pull/1024