Ai problemi legati all'utilizzo cross-browser di window.onload abbiamo dedicato in passato diversi post. Su HTML.it è anche presente la traduzione di un lungo articolo di sintesi sull'argomento scritto da Peter Michaux. Proprio quell'articolo si esprime ad un certo punto sui problemi derivanti dalla mancata implementazione su Internet Explorer e Safari dell'evento DOMContentLoaded (supportato invece da Firefox e Opera 9.0).DOMContentLoaded, come sanno bene i più, viene eseguito prima che sia avvenuto il caricamento completo di quegli elementi (immagini molto pesanti, filmati Flash, video o applet) che in genere rallentano il caricamento della pagina, cosa che lo rende perfetto per quelle situazioni in cui tali rallentamenti possano impedire l'esecuzione di codice Javascript (leggi: funzionalità  importanti della pagina).Ovviamente non sono mancati i metodi per emulare su IE e Safari gli effetti di questo evento. Negli ultimi giorni è spuntato fuori un metodo alternativo per IE creato da Hedger Wang (che a sua volta ha preso le mosse da una soluzione elaborata da Diego Perini).Stuart Langridge ha quindi ben pensato di unire in un unico snippet di codice quest'ultima soluzione per IE insieme a quelle per Opera/Firefox e Safari. La trovate su questa pagina (non manca la demo). Sul nuovo metodo segnalo anche la presa di posizione (o dovrei dire "le perplessità "?) di Andrea Giammarchi.

Continua a leggere DOMContentLoaded su tutti i browser

Categoria: Scripting

Non che mangi ogni giorno pane e Javascript, ma dal mio modesto osservatorio di cronista del web mi sembra di aver colto che quello del window.onload sia uno dei problemi più dibattuti tra gli sviluppatori. Tante soluzioni sono state proposte, forse nessuna definitiva. Questo articolo di Peter Michaux ha il merito di ripercorrere e sintetizzare i punti chiave della questione. Da leggere anche i commenti.

Continua a leggere Un ripassino su window.onload

Categoria: Scripting

Appuntamento dedicato ai bookmark Javascript. Cominciamo con due risorse molto valide che provengono da due firme importanti. Su IEblog, il blog di casa Microsoft dedicato ad Internet Explorer, è stato da poco pubblicato IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies che è il seguito della prima parte. Anche Opera ha trattato l'argomento performance in Efficient Javascript, un corposo articolo che presenta molti tips utilissimi.Andrea Giammarchi ha da poco pubblicato My DOMContentLoaded Final Solution, l'ultima soluzione in fatto di onload appena l'albero DOM della pagina è pronto. Sempre realizzato da Andrea, vale la pena di citare anche byteson, il fratellino di bytefx, per avere scambio di dati grazie a JSON. A proposito di JSON: sintetico ma interessante l'articolo CSS JSON che presenta un modo per rappresentare regole CSS mediante JSON. Tornando in tema di librerie e soluzioni nostrane: il mootools primer di Aaron Newton è una valida e corposa introduzione all'ottima mootols di Valerio Proietti. Passando ai form: Improving HTML forms with Javascript presenta alcuni link a soluzioni per manipolare, elaborare e validare form mediante Javascript.Concludo con una segnalazione che riguarda del.icio.us: Christian Heilmann ha da poco pubblicato Dishy, un wrapper per manipolare le sue API.

Continua a leggere Bookmark Javascript

Categoria: Scripting

Robert Nyman ha di recente presentato ELO - Encapsulated Load Object, una pratica soluzione che risolve i due principali problemi dell' onload tradizionale. Con ELO è infatti possibile eseguire script appena l'albero DOM della pagina è pronto (senza dover aspettare quindi il caricamento di immagini) e senza doversi preoccupare che all'onload è possibile assegnare direttamente una sola funzione.Lo script, principalmente basato su window.onload (again) di Dean Edwards, si presenta leggero e versatile: sarebbe a parer mio davvero perfetto se non ci fosse la necessità  di specificare le funzioni come stringhe. Ecco quindi altre due soluzioni che non hanno questo limite: A better DomContentLoaded di Andrea Giammarchi e DomLoaded updated di Rob Cherny.

Continua a leggere Onload: le soluzioni definitive?

Categoria: Scripting

Apputamento con i bookmark dedicato esclusivamente al Javascript. Cominciamo subito con una delle questioni che sta alla base di quasi ogni script, ovvero l'event handler onload. Ci sono due soluzioni decisamente interessanti.Dean Edwards ha presentato di recente window.onload (again) una versione più veloce dell'onload per Mozilla, Opera 9, Internet Explorer e Safari dato che la funzione assegnata all'evento non ha bisogno di aspettare che il contenuto della pagina (immagini incluse) sia totalmente caricato, ma è sufficiente che sia disponibile l'albero DOM. Piccola riflessione sull'implementazione: a un primo sguardo del codice, non ho potuto fare a meno di notare una forte analogia con filtri e hack CSS specifici per browser. Ma in questo caso la compatibilità  è buona, e per i browser non supportati viene comunque mantenuto il tradizionale window.onload.Approccio simile, ma basato su Prototype, viene presentato da Dan Webb in A DOM Ready Extension for Prototype. Le liste a librerie e risorse sono tra le risorse più seguite, ecco quindi le Top 10 Web Developer Libraries secondo Cameron Olthuis, di cui una buona parte è relativa a javascript. Personalmente non avrei tralasciato jQuery, che conta un crescente interesse e sviluppo anche grazie alla documentazione e alla comunità  che si sta costruendo intorno. A proposito di jQuery, dopo aver segnalato la settimana scorsa 15 Days Of jQuery è il turno della jQuery Visual Documentation una reference interattiva e molto pratica per conoscere meglio questa libreria.

Continua a leggere Bookmark Javascript

Categoria: Scripting

Uno dei problemi più annosi di window.onload, di cui ho parlato anche su web-graphics, è la latenza di esecuzione degli script. In alcuni casi questa latenza si può ridurre apparentemente a zero, in particolare quando dobbiamo nascondere o manipolare appena possibile elementi di pagina.Ho pensato così di riprendere uno degli esempi della prima parte della serie su Interazione ed eventi in Javascript per mostrare come sia possibile. Ecco quindi l'esempio aggiornato, in cui è possibile visualizzare o nascondere elementi di pagina e la transizione al caricamento è molto ridotta. (more…)

Continua a leggere Show/Hide rivisto

Categoria: Scripting

In un mio articolo su Web-graphics pubblicato a fine agosto ho presentato i principali limiti di window.onload: Si può assegnare direttamente una sola funzione a questo handler Bisogna aspettare che la pagina, immagini comprese, sia interamente caricata Ho esposto anche le relative soluzioni, con pro e contro. Ho concluso l'articolo con una frase che lasciava la strada aperta a nuove possibilità : c'è sicuramente qualcosa che aspetta di essere scoperto, sperimentato e presentato.Non pensavo che quell'intervento avrebbe suscitato simili reazioni. Per poter assegnare più funzioni all'handler, Peter-Paul Koch, attraverso la Dom Scripting Task Force, ha lanciato un contest che si è appena concluso. Credo che i tre giudici, ovvero Peter-Paul Koch, Scott Andrew LePera e Dean Edwards stiano ora lavorando per decretare lo script migliore tra quelli presentati.Per quanto riguarda il problema del caricamento totale di pagina, Dean Edwards ha recentemente presentato una soluzione parziale in The window.onload: solved!: funziona su IE e Mozilla/FireFox. Gli altri browser useranno semplicemente l'onload in maniera tradizionale.Anche in questo caso non siamo giunti a una soluzione definitiva, che forse non c'è, ma disponiamo comunque di una tecnica in più, e credo che altre arriveranno a breve.

Continua a leggere window.onload: le nuove soluzioni

Categoria: Scripting

Il nostro Alessandro Fulciniti esamina in un post su Webgraphics uno dei problemi più sentiti da chi sviluppa in Javascript: i limiti nell'utilizzo dell'evento window.onload.Si tratta, in sintesi, di due limiti principali:È possibile richiamare con questo evento una sola funzioneÈ necessario attendere il caricamento di tutta la pagina prima di eseguire gli script collegatiIl post contiene quindi un ottimo prospetto delle soluzioni attualmente adottate per superare il problema, con un'analisi dei pro e contro di ciascuna. Da bookmarkare.

Continua a leggere Superare i limiti di onload

Categoria: Scripting