Ich erhalte folgenden Fehler von jQuery, sobald es auf aktualisiert wurde v3.0.0
.
jquery.js:9612 Uncaught TypeError: url.indexOf is not a function
Irgendeine Idee warum?
Ich erhalte folgenden Fehler von jQuery, sobald es auf aktualisiert wurde v3.0.0
.
jquery.js:9612 Uncaught TypeError: url.indexOf is not a function
Irgendeine Idee warum?
Antworten:
Aktualisieren Sie Ihren gesamten Code, der load
wie folgt funktioniert:
$(window).load(function() { ... });
Zu
$(window).on('load', function() { ... });
jquery.js: 9612 Nicht erfasster TypeError: url.indexOf ist keine Funktion
Diese Fehlermeldung kommt von der jQuery.fn.load
Funktion.
Ich habe in meiner Bewerbung das gleiche Problem festgestellt. Nach einigem Graben fand ich diese Aussage im jQuery-Blog ,
.load, .unload und .error, die seit jQuery 1.8 veraltet sind , sind nicht mehr vorhanden . Verwenden Sie .on (), um Listener zu registrieren.
Ich ändere einfach, wie meine jQuery-Objekte die load
Funktion wie oben aufrufen . Und alles funktioniert wie erwartet.
document.ready
Funktion verwendet und es funktioniert wie ein Zauber.
Ein besserer Ansatz kann eine solche Polyfüllung sein
jQuery.fn.load = function(callback){ $(window).on("load", callback) };
Damit können Sie den Legacy-Code unberührt lassen. Wenn Sie Webpack verwenden, müssen Sie den Script-Loader verwenden.
Jquery 3.0 enthält einige wichtige Änderungen, mit denen bestimmte Methoden aufgrund von Konflikten entfernt werden. Ihr Fehler ist höchstwahrscheinlich auf eine dieser Änderungen zurückzuführen, z. B. auf das Entfernen des Ereignisses .load ().
Weitere Informationen finden Sie im jQuery Core 3.0-Upgrade-Handbuch
Um dies zu beheben, müssen Sie entweder den Code neu schreiben, um mit Jquery 3.0 kompatibel zu sein, oder Sie können das JQuery Migrate-Plugin verwenden, das die veralteten und / oder entfernten APIs und Verhaltensweisen wiederherstellt.
Nach dem Update auf die neueste Version von JQuery ist derselbe Fehler aufgetreten. Daher aktualisiere ich die Jquery - Datei ich arbeite, wie in einer früheren Antwort angegeben, so sagte sie .on("load")
statt .load()
.
Dieses Update ist nicht sehr stabil und manchmal hat es bei mir nicht funktioniert. Um dieses Problem zu beheben, sollten Sie Ihren Code daher aktualisieren von:
.load();
zu
.trigger("load");
Ich habe dieses Update von der folgenden Quelle erhalten: https://github.com/stevenwanderski/bxslider-4/pull/1024