Ricevo il seguente errore da jQuery dopo che è stato aggiornato v3.0.0
.
jquery.js:9612 Uncaught TypeError: url.indexOf is not a function
Qualche idea sul perché?
Ricevo il seguente errore da jQuery dopo che è stato aggiornato v3.0.0
.
jquery.js:9612 Uncaught TypeError: url.indexOf is not a function
Qualche idea sul perché?
Risposte:
Aggiorna tutto il codice che chiama load
funziona come,
$(window).load(function() { ... });
Per
$(window).on('load', function() { ... });
jquery.js: 9612 TypeError non rilevato: url.indexOf non è una funzione
Questo messaggio di errore deriva dalla jQuery.fn.load
funzione.
Ho riscontrato lo stesso problema sulla mia domanda. Dopo alcuni scavi, ho trovato questa affermazione nel blog di jQuery ,
.load, unload, e .error, deprecata dal jQuery 1.8, non sono più . Usa .on () per registrare i listener.
Semplicemente cambio il modo in cui i miei oggetti jQuery chiamano la load
funzione come sopra. E tutto funziona come previsto.
document.ready
funzione e funziona come un fascino.
Un approccio migliore potrebbe essere un polyfill come questo
jQuery.fn.load = function(callback){ $(window).on("load", callback) };
Con questo puoi lasciare intatto il codice legacy. Se usi il webpack assicurati di usare lo script-loader.
Jquery 3.0 ha alcune modifiche che rimuovono alcuni metodi a causa di conflitti. Il tuo errore è probabilmente dovuto a una di queste modifiche come la rimozione dell'evento .load ().
Maggiori informazioni nella Guida all'aggiornamento di jQuery Core 3.0
Per risolvere questo problema, è necessario riscrivere il codice per renderlo compatibile con Jquery 3.0 oppure utilizzare il plug-in JQuery Migrate che ripristina le API e i comportamenti deprecati e / o rimossi.
Mi sono imbattuto nello stesso errore dopo l'aggiornamento all'ultima versione di JQuery. Pertanto ho aggiornato il file jquery su cui stavo lavorando, come indicato in una risposta precedente, quindi ha detto .on("load")
invece di .load()
.
Questa correzione non è molto stabile e talvolta non ha funzionato per me. Pertanto, per risolvere questo problema, è necessario aggiornare il codice da:
.load();
per
.trigger("load");
Ho ottenuto questa correzione dalla seguente fonte: https://github.com/stevenwanderski/bxslider-4/pull/1024