So, you have updated your WordPress to 5.6 and something strange happened to your website? You open the inspector (Command+Option+C (Mac) or Control+Shift+C (Windows, Linux, Chrome OS), and you find a red message like url.indexOf is not a function error
? Wtf Javascript? How to fix it?
WordPress 5.6 viene fornito con una versione aggiornata di jQuery: 3.5.1.
WordPress 5.5 ha smesso di abilitare lo script helper jQuery Migrate per impostazione predefinita e con l'imminente rilascio di WordPress 5.6, la versione in bundle di jQuery verrà aggiornata (da 1.12.4-wp a 3.5.1).
Ciò che ciò comporta per gli utenti è che qualsiasi plugin o tema che in precedenza si basava sullo strumento jQuery Migrate per funzionare come previsto (a causa del codice più vecchio o solo di un aggiornamento mancato alle funzioni deprecate), potrebbe ora avere comportamenti imprevisti.
make.wordpress.org
.load, .unload, and .error, deprecati da jQuery 1.8, non ci sono più. Utilizzate .on() per registrare i listeners.
jQuery blog
So the correct way is to change in your javascript all your occurrences of
$(window).load(function() { ... });
in qualcosa di simile
$(window).on('load', function() { ... });
Ma a volte gli errori non sono relativi a codice che avete scritto voi, giusto? Cosa fare quindi?
Try adding this code before other javascript scripts and after jQuery inclusion.
jQuery.fn.load = function(callback){ jQuery(window).on("load", callback) };