Internet Explorer non supporta, ed io non lo sopporto!

Come dicevo qualche ora fa, nell'annuncio della nuova versione del sito, ho avuto qualche problema nel far funzionare tutto correttamente anche con Internet Explorer.

Oltre ai soliti noiosi problemi legati al mancato supporto del formato grafico PNG, al non riconoscimento di alcuni (molti) selettori CSS, e all'interpretazione errata del "box model", Internet Explorer fa un po' quel che gli pare anche con i JavaScript.

Nel mio caso il problema nasceva da questa riga di codice:

$(this.lastChild.previousSibling).slideToggle();

Tutti i browser (tranne IE) interpretano allo stesso modo (seguendo le convenzioni) il DOM tree ed il codice che ho scritto fa apparire/scomparire un certo elemento.

Internet Explorer, guardacaso, interpreta in maniera completamente diversa la struttura della pagina, quindi quel codice non fuziona più, il codice corretto è:

$(this.lastChild).slideToggle();

Ovviamente per far funzionare il tutto ho dovuto preparare anche un foglio di stile aggiuntivo contenente le opportune modifiche necessarie per IE.

Ora sia la versione 6 che la versione 7 di Internet Explorer funzionano correttamente, in ogni caso non sono assolutamente curioso di provare la versione 8 che attualmente è in beta. Per il momento sono contento che il sito funziona su Mozilla/Firefox, Opera, Konqueror, WebKit e Google Chrome!

Microsoft è famosa per il suo rigore nella retrocompatibilità :P

E io che mi lamento che la JDK non riesce a capire qual è il fuso orario locale su Vista e prende semmpre la GWT.
Meno male che ho un capo progetto programmatore e comprensivo :P

Pensa che da noi c'è un progetto che usa le librerie JavaScript ExtJs... abbiamo scoperto che in alcune banche c'è ancora IE5.5 ...

A proposito di IE visto che ormai la versione 7 ha quasi completamente sostitito la 6 (per la quale la percentuale d'uso è decisamente bassa), per i prossimi miei siti probabilmente non garantirò la piena compatibilità con IE 6 ed inferiori.