Internet Explorer e la soluzione “alternativa”
Martedì 2 Marzo 2010 - 07:53
di Marco Lecce



L’incubo di ogni web designer è la frase: “..e deve essere compatibile con…”. L’elenco che segue la pericolosa e temibile affermazione è direttamente proporzionale alle notti insonni che il nostro povero web designer dovrà spendere dietro alla risoluzioni di problemi di compatibilità (incomprensibili ma soprattutto in alcuni casi inspiegabili) tra i diversi browser.
Proprio qualche giorno fa, un mio collega mi si avvicina con il sorriso tipico del bambino che ha ricevuto il regalo che tanto attendeva (e sperava). “Dopo due giorni di prove e test senza buoni risultati, finalmente ho trovato la soluzione!”: si riferiva al layout particolarmente impegnativo che caratterizzava l’ultimo progetto a cui abbiamo partecipato, che gli ha creato non pochi problemi (soprattutto di digestione).
Tutto gira intorno al meta tag “X-UA-Compatible”: http-equiv="X-UA-Compatible" content="IE=7"
Dopo tre giorni di combattimenti, finalmente aveva trovato il modo di risolvere tutti i problemi del famigerato gioco “Trova la differenza” che ogni volta siamo costretti a fare per consegnare al cliente un lavoro che sia utilizzabile non solo dai più diffusi browser, ma anche e soprattutto tra le diverse versioni di questi.
Dopo giorni passati a risolvere problematiche per la visualizzazione su Firefox 3.5 , ci eravamo infatti bloccati su quelle che si manifestavano tra le diverse versione di Internet Explorer (IE), in particolare IE6, IE7 e IE8. Niente, non c’era modo di sistemare il layout sulle versione del browser di Microsoft. Ed ecco il miracolo.
Il misterioso meta tag di cui sopra, riconosciuto solo dalle diverse versioni di IE, permette di impostare il motore di “renderizzazione” del browser Windows: nella pratica, possiamo comunicare al browser che la nostra pagina web deve essere visualizzata con la renderizzazione di IE7, anche se il nostro utente sta navigando con l’ultima versione del browser, IE8.
Il mio collega era tutto contento, perché finalmente sarebbe tornato a dormire: avrebbe concentrato il suo lavoro nel sistemare esclusivamente la visualizzazione in IE7, impostando il meta tag per forzare il motore di renderizzazione per la versione 8. Ha funzionato. Abbiamo risolto i problemi e abbiamo consegnato il lavoro: a questo punto sono tornato a pensare alla soluzione che abbiamo adottato.
Il meta tag sembra essere stato introdotto da Microsoft per garantire la compatibilità tra le diverse versioni di IE. Considerando che la maggior parte dell’utenza utilizza le funzionalità base di un browser (ovvero quelle di navigazione), mi chiedo però se sia effettivamente utile una nuova versione di uno “sfogliatore” che per risolvere problemi di visualizzazione utilizzerà il motore di rendering delle versioni precedenti. Non sarebbe meglio uniformare tale motore?
Categoria: CSS, Microsoft Dev, Web Design | Permalink
Commenti
1
Ottimo, ma al tuo collega rimane il problema dell’illogico rendering di IE6…
C’è poi da dire che non ho trovato così male IE8, mi è bastato dire nei commenti condizionali di usare il foglio di stile per ie solo per ie6 e ie7 e con le sole regole degli standard compiler browser IE8 si vedeva alla perfezione…# - postato da Antonio Correnti - 02 Marzo 2010 - 08:16
2
Chissà cosa dovrete passare ora che verranno aperte tutte le installazioni di qualsiasi browser esistente sulla terra tramite l’update di Windows… Ci saranno un proliferare di browser installati e oltre al casino stesso sul pc in questione, ci saranno sicuramente differenze nel visualizzare la pagina da un browser all’altro…
(mi rendo conto di essere parecchio anarchico al riguardo…) e non è che ne vado così fiero…
3
Scusate ma il tag vale anche per chi usa IE6?
# - postato da mixio - 02 Marzo 2010 - 09:32
4
@Antonio
Anch’io finora (toccando ferro) nessun problema con IE8. Sarei contento se esistesse qualcosa che funzionasse al rovescio, ovvero per il 6 ed il 7 facesse utilizzare il motore dell’8.Che poi adesso parliamoci sinceramente, ma alla microsoft non potrebbero, magari con la scusa di aggiornamenti importanti per la sicurezza, forzare l’aggiornamento degli IE6 ed IE7 alla versione 8? O sarebbe illegale?
# - postato da davide - 02 Marzo 2010 - 09:39
5
Ciao, Marco, ho letto con attenzione il tuo interessante post, ma perdonami, non riesco proprio a capire il guadagno nell’utilizzare questo meta tag su un sito sviluppato “ex novo”. Praticamente si forza IE8 (che come renderizzazione della pagina è il più simile ai browser conformi agli standard e non dovrebbe dare nessun problema. Almeno a me, fin’ora, in tutti i siti che ho sviluppato non ne ha dati) a visualizzare la pagina come il più “bacato” e problematico IE7. Non so… mi sembra un atteggiamento “punitivo” (in senso “moooolto” lato) rispetto a quegli utenti che stanno utilizzando un browser aggiornato, il costringerli a vedere la pagina come se stessero usando un client web vecchio.
Mi spiego meglio. La mia è anche un po’ una questione di principio: MS fa uscire (deo gratia!) un browser che finalmente è allineato alla concorrenza nella gestione delle pagine, e noi lo forziamo a comportarsi come il suo scarso predecessore? A questo punto, non è più indolore (leggi: meno punitivo per chi utilizza IE8) utilizzare dei CSS solo per IE7, oppure solo dei selettori esclusivi per quest’ultimo (tipo html > body #header {*margin-top:10px} )?
Anche perché, da quanto ho capito, la funzione originaria del meta tag X-UA-Compatible è stata pensata dal team di sviluppo di IE8 proprio per quei vecchi siti ottimizzati per le precedenti versioni di IE che, con l’uscita del nuovo browser più aderente agli standard, avrebbero avuto problemi di layout.
Ma magari sono io che parto da premesse sbagliate… In fin dei conti siamo qui per imparare!
# - postato da idrolitina - 02 Marzo 2010 - 10:39
6
Idrolitina mi ha tolto le parole di bocca.
7
Ciao! Hai perfettamente ragione, il nostro problema però era trovare una quadra nella visualizzazione di un menu drop-down scritto tutto in css (tra l’altro qualche mese prima dell’uscita di IE8): in IE6 e IE7 andava benissimo, mentre su IE8 non siamo riusciti ad individuare il problema! :(
Ecco perchè abbiamo forzato il rendering di IE7 anche per chi utilizza IE8: in questo modo il menu funziona senza problemi!
In linea di principio sono d’accordo con te, infatti normalmente ottimizziamo i layout per le ultime versioni dei principali browser: in questo caso siamo stati obbligati a seguire una via alternativa, più che altro per questioni di tempo.
Non sono un web designer, ma pensadoci a mente fredda mi sembra che questa tipologia di problemi si riscontra principalmente tra le versioni di IE: quelle di Firefox, ad esempio, sembra che abbiamo un rendering engine più standard tra loro…o sbaglio? ;)
# - postato da Marco Lecce - 02 Marzo 2010 - 11:04
8
Anche io ho usato questo sistema, su un sito complesso. Non che fosse possibile risolverlo diversamente, ma è stata sopratutto una questione dovuta al risparmio di tempo nel stare lì a modificare css.
# - postato da cristina - 02 Marzo 2010 - 11:20
9
Per chi lo ha chiesto, quel meta tag funziona solo su Internet Explorer 8.
10
Non sono un web designer, ma pensadoci a mente fredda mi sembra che questa tipologia di problemi si riscontra principalmente tra le versioni di IE: quelle di Firefox, ad esempio, sembra che abbiamo un rendering engine più standard tra loro…o sbaglio? ;)
Volendo sintetizzare al massimo: sì, le varie versioni dei browser diversi da IE hanno un rendering engine più standard tra loro.
Nel senso che con le release precedenti alla 6, IE ha rincorso i browser più aderenti agli standard (ovvero… tutti gli altri browser :-) ). Quindi, IE 7 è una specie di ibrido, che ha corretto alcuni enormi bachi di IE6 e ha offerto un supporto maggiore del CSS2 (non a livello dei competitor), ma mantenendo alcuni problemi di visualizzazione (gestione “particolare” degli z-index, gestione di elementi col posizionamento relativo in elementi con l’overflow, guillotine bug, etc. etc.). Con IE8, infine, MS ha quasi raggiunto gli altri come correttezza di visualizzazione della pagina (da qui si spiega la necessità di implementare il meta tag “X-UA-Compatible”. Come a dire: ebbene sì, ora finamente abbiamo fatto un browser decente. Se avete sviluppato i vostri siti ottimizzandoli per IE7, occhio!), ma non come supporto ai CSS3.
Non che gli altri browser non diano problemi di renderizzazione uniforme della pagina da una versione all’altra o siano esenti da bachi esclusivi. Però mai a livello dei vari IE…# - postato da idrolitina - 02 Marzo 2010 - 11:44
11
Scusate, nel mio commento precedente ho notato che c’è un refuso che rende il tutto poco chiaro:
(…) Nel senso che con le release successive alla 6 (…)
# - postato da idrolitina - 02 Marzo 2010 - 12:06
12
io mi son fatto un piccolo promemoria:
http://operaomnia.wordpress.co.....utili-bug/
13
Mi ero gia’ espresso sullo stesso argomento qualche mese fa’ … vediamo di fare una rinfrescatina: credo che il vero problema dei browser di casa MS non sia ne’ IE6 ne IE8 ma proprio IE7! e mi spiego meglio … ho notato da tempo che un sito perfetto in IE8 lo e’ anche in FF3.5 e FF3 (anche se fra FF3 e FF3.5 gia’ delle differenze ci sono … come dire IE6 e IE8) e con le ovvie limitazioni anche in IE6 (basta un css generico che ne colmi il divario ed il gioco e’ fatto) quello che invece non torna e’ proprio il comportamento di IE7 che pare compatibile solo con FF3. Rimangono quindi fuori non solo FF3.5 ma anche FF2 oltre che IE6 ed IE8. Quello che volgio dire e’ che forse proprio il tanto decantato IE7 a mio e IMHO avviso e’ la causa di tutti i mali di questi ultimi anni e non IE6! Ricordo che alla sua uscita si veniva tutti da IE6 e la maggior parte dei siti non visualizzava piu’ bene in IE7 se non riscritto proprio come accade oggi nel passaggio ad IE8 da IE7. Spessa cosa nel passaggio puro da FF2 a FF3 e da FF3 a FF3.5. I soli casi analoghi senza troppi disastri sono proprio quelli IE6-IE8 e/o IE8-IE6 nonche’ FF2-FF3.5 e FF3.5-FF2 … quindi per me’ FF3=IE7 e viceversa Ie7=FF3 ovvero casini ed incompatibilita’ cme se piovesse … spero di essermi spiegato ;-)- Chi vuol capire capisca, agli altri rimane sempre XHTML1.0 transitional da far rullare in IE7 e FF3 … io no grazie uso HTML4 o HTML5 dormo regolare e quando mangio non vomito!
# - postato da sLa - 03 Marzo 2010 - 05:23
14
[…] Il Web non è di carta Uno dei problemi che maggiormente assilla i Web designer è la resa della visualizzazione grafica delle pagine Web sui diversi browser (e sulle diverse versioni dello stesso browser). E’ uno degli aspetti che assorbe spesso una discreta parte del tempo di realizzazione di un sito Web ed è una lotta che va avanti da sempre. Ieri mattina mi sono imbattuto in un ennesimo post su Edit che sforna l’ennesimo trucco di compatibilità grafica e non ho resistito… […]
# - postato da Il Web non è di carta « Andrea Chiarelli - 03 Marzo 2010 - 09:54
15
Dalle mie parti è successo di dover usare questo tag apparentemente “al contrario” : per forzare ie ad usare il rendering di ie8 anche se il sito è in intranet, così da avere un rendering più uniforme tra Firefox e Ie (Gima docet).
# - postato da Cimp - 06 Aprile 2010 - 16:23







