jQuery: Uncaught TypeError: undefined is not a function

jQuery: Uncaught TypeError: undefined is not a function

by Pubblicato: 25 febbraio 2015 0 commenti

Si tratta nella quasi totalità dei casi, di un errore procedurale, o meglio dove avete fisicamente messo lo script. Può capitare infatti che lo script, solitamente un  (document).ready  finisca per essere caricato prima di jQuery stesso. Può essere ad esempio quando jQuery viene richiamato da una libreria remota come quelle delle Hosted Library di Google. A maggior ragione se state caricando questi script all’interno di WordPress.

La soluzione è quella di caricare gli script nel footer, prima del tag di chiusura   </body>  . Se poi avete diverse librerie, o prevedete di utilizzarne in futuro, meglio se lo script che andrete a scrivere sia dichiarato all’utilizzo di jQuery.

Si veda l’esempio sottostante:

$(document).ready(function() {
//faccio qualcosa
});
//diventerà nella modalità senza conflitto in
jQuery.noConflict();
jQuery(document).ready(function($) {
//faccio qualcosa, ora posso utilizzare $ senza conflitti
});

Conclusioni.

Si tratta quindi di un piccolo trucco procedurale. Infatti dal punto di vista della sintassi scrivere nell’header è formalmente corretto, tuttavia il browser riporterà errore per i motivi sopra citati. Spostando verso il fondo della pagina inoltre si ottiene anche l’effetto di aumentare, dal punto di vista visivo, le prestazioni. Poiché i dati vengono processati dall’alto verso il basso non dovranno aspettare il caricamento del codice javaScript che solitamente è invisibile ad un primo impatto. Spesso sono degli effetti legati alla “esperienza utente” e sono fruibili nel momento in cui si inizia ad esplorare o utilizzare la pagina web.

Vuoi dire o aggiungere qualcosa?

sezione commenti aperta al pubblico

Non ci sono ancora commenti!

Puoi essere il primo a commentare.

Rispondi