AJAX, Tutorials

Javascript – Internet Explorer img onload event handler

Recentemente sono un p√≤ fermo sul lato flash actionscript, mi sto dedicando parecchio ad AJAX, cercando di rimanere sul “pi√π crossbrowser possibile”, con tutte le problematiche del caso.

Internet Exploder

Tra i vari bug di internet explorer sono incespicato su un qualcosa di parecchio fastidioso: ie gestisce male gli onload delle immagini.
All’inizio pensavo che non fossero gestiti del tutto, o solo in parte (?) , ma a volte ricaricando la pagina dispacciava l’evento, altre no, apparentemente a caso.

Ecco una porzione di codice che presenta il problema descritto:

Così explorer entra in modalità cagacazzo random error
Non occorre scervellarsi (come ha fatto il sottoscritto), la soluzione è più facile del previsto:


Cos’√® cambiato? Per un comune mortale, e per la maggior parte dei browser NULLA!
Per ie invece √® cambiato il “preavviso”, in soldoni, PRIMA si aspetta che gli sia comuncato cosa deve fare a questo o quell’evento (come si √® presentato il bug su onload potrebbe presentarsi su click, mousedown o chissach√®), e POI si aspetta di caricare un’immagine a cui assegnare i gestori di evento….-.-””

In soldoni, per evitare il bug è necessario specificare src come ultimo attributo del tag img.

Advertisements

3 thoughts on “Javascript – Internet Explorer img onload event handler

  1. purtroppo il gestore di evento sul caricamento di IE fa acqua da tutte le parti. √® cos√¨ anche per l’onload della pagina, anche se l√¨ non ci sono rimedi cos√¨ semplici e ti tocca andare a lavorare di readyState… assurdo.

    cmq grazie della info, buono a sapersi…

  2. ah beh sicuro, tutti i framework bene o male hanno un gestore di evento per il caricamento… che √® spesso causa di molti problemi con IE.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s