Otrzymuję następujący błąd z jQuery po zaktualizowaniu do v3.0.0
.jquery 3.0 url.indexOf error
jquery.js:9612 Uncaught TypeError: url.indexOf is not a function
jakiś pomysł dlaczego?
Otrzymuję następujący błąd z jQuery po zaktualizowaniu do v3.0.0
.jquery 3.0 url.indexOf error
jquery.js:9612 Uncaught TypeError: url.indexOf is not a function
jakiś pomysł dlaczego?
Aktualizacja cały kod, który wywołuje load
jak funkcja,
$(window).load(function() { ... });
Aby
$(window).on('load', function() { ... });
jquery.js:9612 Uncaught TypeError: url.indexOf is not a function
Ten komunikat o błędzie pochodzi zFunkcja.
Znalazłem ten sam problem w mojej aplikacji. Po pewnym kopania, znalazłem to oświadczenie w jQuery blog,
.load, .unload, and .error, deprecated since jQuery 1.8, are no more. Use .on() to register listeners.
ja po prostu tylko zmienić sposób moje obiekty jQuery wywołać funkcję load
jak powyżej. A wszystko działa zgodnie z oczekiwaniami.
To szaleństwo, że nie mają one wielkiego przestarzałego ostrzeżenia na tej stronie w swoich dokumentach, http://api.jquery.com/load/. –
Stwierdziłem, że to był dokładny problem, który miałem podczas ładowania podstawy zurbs do aurelii –
ironicznie, że jedynym miejscem, w którym wciąż to robiłem, był kod błędu, który następnie sam się zepsuł: -/ –
Jquery 3.0 ma kilka przełomowych zmian, które usuwają niektóre metody z powodu konfliktów. Twój błąd jest najprawdopodobniej spowodowany jedną z tych zmian, takich jak usunięcie zdarzenia .load().
Czytaj więcej w jQuery Core 3.0 Upgrade Guide
Aby rozwiązać ten problem należy albo przepisać kod za zgodną z jQuery 3.0 albo można użyć JQuery Migrate plugin który przywróci przestarzałe i/lub usunięte API i zachowań.
Po aktualizacji do najnowszej wersji JQuery wystąpił ten sam błąd. Dlatego zaktualizowałem plik jquery, nad którym pracowałem, jak podano w poprzedniej odpowiedzi, więc powiedział .on("load")
zamiast .load()
.
Ta poprawka nie jest bardzo stabilna i czasami nie działała dla mnie. Dlatego, aby rozwiązać ten problem, który powinien aktualizacja kod z:
.load();
do
.trigger("load");
dostałam tę poprawkę z poniższego źródło: https://github.com/stevenwanderski/bxslider-4/pull/1024
Lepsze podejście może stanowić polyfill jak ten
jQuery.fn.load = function(callback){ $(window).on("load", callback) };
Dzięki temu możesz pozostawić dotychczasowy kod niezmieniony. Jeśli używasz WebPacka, upewnij się, że używasz skrypt-programu ładującego.
Dziękuję bardzo. Nadal mam błąd, James zasugerował, żebyś użył. Trigger to zadziałało. jQuery.fn.load = function (callback) {$ (window) .trigger ("load", callback); }; – rgfx
Dzięki! To działa dla mnie. –
Sprawdź to, może to rozwiązać problem [Uncaught TypeError: Undefined nie jest funkcją w indexOf] (http: // stackoverflow.com/questions/24471229/uncaught-typeerror-undefined-is-not-a-function-on-indexof) –
to nowa wersja jQuery wypalająca błąd. Stara wersja jest w porządku. – Kamrul
Jestem również w tej chwili: 0 – Feek