Home » Web Development » jQuery » Document ready vs Window load

Document ready vs Window load

jquery-logo

È molto facile cadere in errore quando si ha a che fare con gli eventi jQuery .ready() e .load(), tuttavia è opportuna prestare attenzione perchè potremmo incorrere in diversi problemi, primo fra tutti il cross-browsing.

La differenza tra $(document).ready() e $(window).load():

$(document).ready() è, probabilmente, il più usato nel web per la gestione degli handler sui diversi elementi della pagina, come ad esempio i .click(), i .focus() ecc…

L’evento $(document).ready() parte quando il browser ha caricato il DOM senza curarsi di elementi come le immagini. In questo modo è possibile garantire migliori prestazioni rispetto al classico .load() messo a disposizione dal javascript che invece attende la fine del caricamento di tutti gli elementi.

Quando usare $(document).ready():

Come abbiamo detto $(document).ready() migliora sensibilmente le prestazioni della nostra pagina, eseguendo i nostri script subito dopo il caricamento del DOM e quindi in contemporanea alla renderizzazione della pagina. Tuttavia è sconsigliabile utilizzarlo per script che, hanno bisogno della presenza di tutti gli elementi della pagina, ad esempio in caso di siti basati su concetti di Responsive Design per la manipolazione delle dimensioni dei diversi elementi. Potremmo infatti incorrere in vari problemi dovuti alla velocità di caricamento della pagina senza magari riuscire ad accorgecene in fase di sviluppo.

Quando usare $(window).load():

In questi casi è consigliabile affidarsi al $(window).load() e quindi far partire i nostri script una volta che la pagina è pronta e tutti gli elementi sono stati caricati correttamente. In questo modo saremo certi che tutti gli ingombri dei vari elementi siano corretti e possiamo manipolare la nostra pagina come preferiamo.

Per gestire casi eccezionali potremmo anche far partire l’evento .load() su elementi più specifici, come un’immagine particolare ad esempio.

Fate quindi molta attenzione a come utilizzate questi due eventi, anche se non riscontrate errori di visualizzazione in fase di sviluppo ciò non significa che altri utenti non ne vedranno. È buona norma controllare sempre il risultato dei propri script, soprattutto nei casi di manipolazione della grafica, con browser differenti perchè renderizzano le pagine in maniera diversa e potreste scoprire sempre nuovi errori (Internet Explorer primo fra tutti)

Resta sempre aggiornato

Stai tranquillo! Non invio E-mail di Spam e non faccio decine di invi ogni settimana. Ti invierò di tanto in tanto un messaggio per tenerti aggiornato sulle novità e sui nuovi articoli!
Email
Secure and Spam free...