Siti non compatibili con IE8 Beta 2
Mercoledì 19 Novembre 2008 - 08:36
di Gianni Malanga

Chi sviluppa siti web e ha già avuto modo di provare il nuovo Internet Explorer 8 Beta 2 si sarà certamente accorto di due cose. Una è che alcuni siti non si vedono correttamente con la nuova versione del browser di casa Microsoft, l’altra è che questa nuova versione è dotata di una nuova funzionalità denominata Compatibility View.
Sostanzialmente questa funzionalità non fa altro che riportare IE 8 alla precedente versione, ovvero la 7. Questa funzionalità è anche abbastanza intelligente, in quanto nel momento in cui premete il tasto per la Compatibility View su un particolare sito web, questo indirizzo verrà memorizzato in un elenco e quindi le volte successive che visiterete il medesimo sito il browser automaticamente si imposterà in Compatibility View.
Questo però potrebbe andare bene per l’utente, ma se siamo noi ad avere un sito che vogliamo in qualche modo far visualizzare correttamente ai nostri visitatori che utilizzano IE8 senza costringerli ad usare il tasto Compatibility View e prima che ci decidiamo a renderlo compatibile a tutti gli effetti, possiamo risolvere elegantemente il problema in questo modo:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
Posizionando questo meta tag nell’HEAD di una specifica pagina, quella pagina verrà visualizzata da IE8 Beta 2 in Compatibility View e quindi come se la stesse leggendo un Internet Explorer in versione 7. Se, come penso sia più ovvio, abbiamo un intero sito che vogliamo impostare in Compatibility View allora possiamo inserire nel Web.config il seguente custom header:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<clear />
<add name="X-UA-Compatible" value="IE=EmulateIE7" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
Se poi avete un sito che non è ASP.NET o comunque non volete metter mani al Web.Config, allora potreste anche aggiungere il nuovo header in IIS in questo modo:
- Tasto destro del mouse sul sito o cartella interessati e selezionare Properties
- Nel tab HTTP Headers premere Add nel riquadro Custom HTTP Headers
- Quindi come Custom Header Name mettete: X-UE-Compatible
- Mentre come Custom Header Value mettete: IE=EmulateIE7
- Premete quindi OK per due volte.
A questo punto avrete il vostro sito compatibile con IE 8 Beta 2 in attesa dell’uscita della versione definitiva a cui dovranno seguire interventi più mirati per rendere i propri siti compatibili con questa nuova versione.
Categoria: Microsoft Dev | Permalink
Commenti
1
mi dispiace che edit si sia venduta a microsoft… da quando spopolano su questo sito non si fa altro che tessere le lodi della grande emme.
ad ogni modo reputo la trovata del compatibility mode ridicola, basterebbe che ie rispettasse gli standard per allinearsi con gli altri browser - che guarda caso sono decisamente omogenei nel rendering delle pagine.
mi rifiuto di sporcare l’header delle mie pagine.
2
(spopolano) mi riferivo alla pubblicità su html.it
3
@luca
Ho riletto il messaggio un paio di volte.. in quale punto del testo si “tessono le lodi” della grande M?
# - postato da ZofM - 19 Novembre 2008 - 10:11
4
Se i presupposti di IE8 sono questi… direi che il buongiorno si vede dal mattino. Mi sa che cambiano solo il nome ma le pecche se le portano dietro; se già ci sono visualizzazioni diverse per una pagina web in IE8, perchè devo attivare il compatibility mode?? Vedo la mia pagina con IE7; meglio ancora sarebbe, fregarsene dei browser IE. Non sarebbe meglio che si fermassero nel realizzare browser, invece di continuare a fare danni? I problemi, per chi ci lavora, emergeranno quando sarà distribuito ufficialmente perchè si deve andare alla ricerca di soluzioni in giro per la rete. Mi rifiuto di pensare che non sanno come realizzare un browser; mi viene da dire, invece, che non vogliono farlo. Mai che si distinguono, anche per sbaglio, per una cosa positiva, mai!
5
parrebbe che microsoft persista con la filosofia della patch continua (che non è la beta permanente..)
# - postato da Jan Tonellato - 19 Novembre 2008 - 10:35
6
Ottimo post, molto utile!
Mi sono fatto l’idea (correggetemi se sbaglio) che il Compatibility view sia dovuto al fatto che molti siti sono stati sviluppati per girare bene su IE6 e IE7, browser poco inclini a rispettare gli standard.
Quindi IE8, che dovrebbe essere molto più virtuoso in questo senso (finalmente!), ha pensato a questo escamotage per mettere una pezza a anni di cattivi browser, senza scontentare troppo chi usa e sviluppa vecchi siti. Se l’alternativa era continuare a offrire prodotti scadenti come IE7, nettamente inferiori a Firefox, Opera e compagnia, per non traumatizzare i gestori e gli utenti di siti sviluppati male, ben venga questo sistema.Comunque questa è solo un’ulteriore conferma che Microsoft e browser sono due cose che non vanno d’accordo…
# - postato da Idrolitina - 19 Novembre 2008 - 10:41
7
Anche a voi succede che Jquery non funzioni bene su Ie 8?
Ma porca….. ma quanti cavolo di milioni di dollari spendono per far uscire dei software cosi stupidi! tanto valeva usare gecko come renderer….# - postato da Jan Tonellato - 19 Novembre 2008 - 11:08
8
@luca
non intervengo circa le pubblicità perchè non sono una cosa che mi riguardano, per quanto riguarda invece la questione del Compatibility View ti ricordo che questa modalità è stata introdotta proprio per “tornare indietro” alla situazione precedente in cui IE7 non era perfettamente allineato agli standard e permetteva quindi “porcate” che ora con IE8 non saranno più possibili.Come ha poi detto giustamente Idrolitina, è quindi un modo per rendere visibili correttamente anche i vecchi siti che, adeguatisi ad IE7, non sarebbero più stati visti correttamente con IE8 che invece adesso rispetta tutti gli standard.
Se proprio vogliamo essere critici, quindi, non dobbiamo criticare IE8 o la Compatibility View, bensì il comportamento delle versioni precedenti di IE. Ma penso che questo sia stato ormai abbondantemente fatto e quindi non penso ci sia più nulla da lamentarsi.
# - postato da Gianni Malanga - 19 Novembre 2008 - 11:25
9
Ma con tutti i soldi che ha la Microsoft perchè non compra un’azienda SERIA che sappia fare browser decenti?
Saluti.
10
Signori, volevo ricordare a tutti che IE 8 è in versione BETA. Per chi non lo sapesse: Beta.
Quindi invece che lamentarvi, perchè quando trovate un problema od un errore non lo segnalate a Microsoft?
# - postato da Gianni Malanga - 19 Novembre 2008 - 11:29
11
Explorer e beta sono sinonimi :)
12
Se IE8 “rispetta tutti gli standard”, a cosa serve mettere il meta?
Perchè è una Beta?
Ah ok, e a cosa mi serve?
Quando non sarà più Beta “rispetta tutti gli standard” quindi non serve più, allora continuo a non capire a cosa serve il meta, quando sarà rilasciata la versione definitiva tutto andrà per il meglio perchè adesso IE8 “rispetta tutti gli standard”.
Quindi?
Ci sono utenti che usano ancora IE 5.5 e 6, cosa mi preoccupo che si scarichi ed installi la versione 8 Beta che gia è difficile che abbia la 7?Io grossi problemi con la 7 non li ho, basta far le cose per bene, ho i soliti e risaputi mille problemi con IE6.
Questo per dire: cosa me ne dovrei fare ora del meta?
# - postato da serialkiller - 19 Novembre 2008 - 11:50
13
Se IE8 “rispetta tutti gli standard”, a cosa serve mettere il meta?
L’ho già spiegato, serve per la retrocompatibilità con IE 5.5, 6 e 7 che avevano qualche problema con gli standard.
Perchè è una Beta? Ah ok, e a cosa mi serve?
Quando non sarà più Beta “rispetta tutti gli standard” quindi non serve più, allora continuo a non capire a cosa serve il meta, quando sarà rilasciata la versione definitiva tutto andrà per il meglio perchè adesso IE8 “rispetta tutti gli standard”.Se rileggi bene quello che ho scritto io e che ha anche scritto Idrolitina vedrai che c’è la risposta alla tua domanda.
Quindi?
Ci sono utenti che usano ancora IE 5.5 e 6, cosa mi preoccupo che si scarichi ed installi la versione 8 Beta che gia è difficile che abbia la 7?Il problema non è che ci sono utenti che usano ancora le vecchie versioni. Il problema è che ci sono siti “fatti per IE 5.5, 6 e 7″ che con il nuovo IE 8 (anche e soprattutto nella versione definitiva) non verranno visti correttamente. Quindi in attesa che i vari sviluppatori e web master si adoperino per mettere mani al codice e rendere finalmente questi siti compatibili con IE8 e quindi con gli ultimi standard web, Microsoft da brava ha pensato di dare un aiutino ai più pigri attraverso questo Compatibility View (di cui ovviamente non si dovrà abusare).
Io grossi problemi con la 7 non li ho, basta far le cose per bene, ho i soliti e risaputi mille problemi con IE6.
Nessuno ti costringe ad installare IE8 o sbaglio?
# - postato da Gianni Malanga - 19 Novembre 2008 - 12:10
14
E non supportano ancora i rounded corners da CSS, maledetti…
Quando riusciranno a mettersi in pari con gli altri borwsers? :-(
15
Ecco…il problema è proprio questo: IE 8 è una Beta, ma nella versione definitiva cambierà qualcosa (in meglio)? Conoscendo Microsoft, mi sa proprio di no. Per il resto, come ho già scritto sul blog degli sviluppatori, IE la dovrebbe smettere di guardare al passato e soprattutto cambiare motore di rendering, visto che Gecko è inifinitamente superiore. La maggior parte dei problemi con gli standard sono dati da Trident, e ancora si ostinano a usare un motore assurdo come quello. Per concludere, continuo a dire: ma se è un browser che gli standard li rispetta, a perte il compatibility mode che può essere una “feature” extra, non dovrebbe visualizzare i siti fatti ad arte correttamente? Il fatto che la Beta abbia ancora questo tipo di problemi mi dà molto da pensare…nella versione definitiva quanti ne correggeranno (e quanti di nuovi ne verranno fuori)? IE andrebbe proibito per legge, almeno finché non cambia motore di rendering. Anche IE 7 doveva correggere tantissimi problemi, e invece ne ha introdotti di nuovi e ne ha mantenuti troppi di vecchi (Peek-a-boo, Guillotine e box flottanti in genere, overflow, ecc.)…
# - postato da Alexandro - 19 Novembre 2008 - 12:53
16
Scusa Gianni, prmesso che non è un attacco personale, io continuo a non capire molto il discorso.
Se ho fatto un sito 5/10 anni addietro, gia da tempo il mio sito su versioni sucessive e sballato, quindi ho me ne sono fregato o ho messo mano, con commenti condizionali o qual si voglia tecnica, in modo da renderlo fruibile anche nelle versioni uscite in seguito.
Se ho messo mano, ora ho il mio sito compatibile con IE 5.5 -> 6 -> 7.
Fino ad oggi, non mi è mai servito modificare o servire un css diverso ad IE7, son sempre riuscito ad evitarlo, per le versioni precedenti alla 7 ,invece spesso/sempre, occorre.
Quindi mi chiedo, se ho fatto un lavoro nuovo o modificato uno vecchio come detto in precedenza, in teoria se su IE7 sono ok, lo dovrei essere anche su IE8 (non sulla Beta), al masimo per le versioni precedenti alla 7 ho il mio commento condizionale mirato.
Forse non riesco a spiegarmi, ma se oggi faccio un lavoro, lo faccio compatibile con le versioni 5.5. 6 e 7, se sulla 7 riesco a non usare commenti condizionali o altro, vuol dire che anche IE8 non avrà problemi, se li uso, li fornisco solo per le versioni in cui serve e se su IE8 non serve lo lascio pulito come per es. su Firefox e gli altri browser standard.
L’unico motivo per usarlo adesso è perchè essendo in Beta, se qualche utente l’ha installato, lo servo in versione IE7, almeno lo vede corretto.
La retrocompatibilità (Compatibility View) mi sebra di capire sia alla versione 7, quindi non a quelle precedenti (5, 5.5, 6).
Se io faccio un sito nuovo oggi o rimetta mano ad uno vecchio, faccio le medesime cose, lo guardo con un browser compatibile con gli standard (per es. Firefox), se è ok passo al livello massimo di compatibilità che voglio dargli..diciamo 5.5 (per semplificare parliamo sempre di CC), sitemo l’insistemabile con CC..ok, passo alla versione successiva 6, è ok? No, bene vediamo se con il CC della versione 5.5 si sitema…no! Ok allora sistemo con CC anche per la 6…sulla 7 com’è? Diciamo ok, perfetto. Ora se IE8 è perlomeno uguale alla 7, ma dovrebbe essere meglio, non dovrei avere problemi, se avessi anche usato un CC per la 7 sulla 8, se è conforme agli standard, non serve, perchè usare il meta? Perchè in realtà non sarà conforme!?
E’ questo che non capisco, se ho seguito le evoluzioni di IE fino ad oggi, con un qualsiasi sito, vecchio o nuovo, per chi ha versioni vecchie di IE ho sistemato, sulla 7 o è ok o anche lui ha le sue pezze, chi ha la 8 lo dovrebeb vedere ok senza bisogno di usare Compatibility View, che comunque mi riporta alla 7, e se io non ho sistemato siti vecchi ottimizati solo per IE 5.5 o 6, lo vedo da schifo sia sulal 7 che sulla 8.Poi non ho capito cosa intendi con:”Nessuno ti costringe ad installare IE8 o sbaglio?”
Io che ci lavoro lo devo installare per forza, cosa intendi scusa?
Mica ho detto che IE7 è una figata pazzesca e non lo cambierei con nessuno come il Dixan, io se non per lavoro, IE non lo uso proprio in nessuna versione.# - postato da serialkiller - 19 Novembre 2008 - 13:05
17
@serialkiller,
ovviamente parto sempre dal presupposto che non ci attacchiamo mai personalmente :-) semplicemente la discussione è accesa e i punti di vista sono differenti.Riassumendo, la questione è questa. Vediamo se riesco a spiegarmi. La Compatibility View (CV da ora in poi) è una modalità che se impostata fa si che IE 8 Beta 2 visualizzi un sito come se lo stessi visualizzando con IE 7 e per maggiori informazioni ti rimando a questo post su MSDN.
Questa funzionalità è stata introdotta con l’unico scopo di permettere a chi ha reso il suo sito compatibile solo con IE7 e non con gli ultimi standard web, di fare in modo che i suoi visitatori con IE8 possano comunque visualizzare decentemente il proprio sito.
La CV non è quindi una pezza per IE8 bensì è una pezza per tutti quei siti che a causa della nuova aderenza di IE8 agli ultimi standard web, con il nuovo browser (ma anche ad esempio con FireFox) non sarebbero stati visualizzati correttamente.
Ovviamente come tutte le pezze, la CV non è una soluzione definitiva, bensì una soluzione temporanea per prendersi il tempo di adeguare il proprio sito ad IE8 che, ribadisco, non è che chieda delle modifiche perchè è lui che interpreta male le pagine bensì sono le pagine che sono state scritte male e richiedono un adeguamento.
# - postato da Gianni Malanga - 19 Novembre 2008 - 19:30
18
Ok perfetto, così l’ho capita :-) credo :-D
Quindi facendo il riassunto del riassunto, io che i miei lavori li faccio standard e al massimo fornisco il CC per cose imposibili con le versioni precedenti (vari bug o limiti propri), sono in una botte di ferro, per ora se voglio, metto il meta e chi dovesse arrivare su uno dei miei siti con IE8, lo vedrà come se fosse IE7, quando invece uscirà la versione definitiva, faccio un controllo levando il meta e teoricamente se con IE7 (senza CC), si vede come si deve, dovrebbe vedersi parimodo su IE8.
Tutto questo perchè giorni addietro sono andato a fare dei controlli su un ultimo lavoro nel famoso browsershots.org e settando tutti i browser/tutte le piattaforme….tutto perfetto, solo IE8 Beta mi ha lasciato basito (stile mascella cadente), ora leggendo questo articolo mi era venuto un embolo a forma di IE :-)
Chiudo con uno spunto inevitabile: quando uscì IE7 siamo corsi tutti a scaricare il pacchetto di emulazione IE (5 - 5.1 - 5.5 - 6 - ecc, ecc), con IE8 servirà l’emulzione di IE7.
# - postato da serialkiller - 19 Novembre 2008 - 19:43
19
c’è da dire che mamma microsoft non ha mai voluto venire incontro agli sviluppatori che impazziscono o quasi per rendere una pagina web crossbrowser, è assurdo dover testare un sito su 3 versioni di IE, io personalmente testo su IE 6, Opera ultima versione disponibile, Mozilla Firefox ultima versione disponibile.
Della versione 8 di IE rinuncerei al volo a molti strumenti integrati per una maggior aderenza agli standard……renderebbe felici tutti i webdesigner :-)
20
Insensato…..
Non basta testare e tastare IE5, 6, 7 e tutte le versioni intermedie? Ora tocca fare anche questa pagliacciata?
Perchè? Per dare spago all’arroganza della Microsoft?
Aspettare che esca la versione definitiva, no, eh?
Tanto più che ci sono ancora millanta mila utonti che usano IE5/6….Scusate il linguaggio…..
# - postato da Ratamusa - 20 Novembre 2008 - 10:19
21
IE 8 non supporta manipolazioni di Png con canale alpha…. (e dubito che sia dovuto alla beta. È lo stesso funzionamento che su IE7)
In compenso spingono su pushing di servizi commerciali.
User Un-centered design# - postato da Jan Tonellato - 20 Novembre 2008 - 10:38
22
Ah, il Microsoft centered design……
# - postato da Ratamusara - 20 Novembre 2008 - 12:34
23
Possibile che ancora non è chiaro? Ma leggere bene il testo no? Questo benedetto header non serve per riempire una falla di IE 8 o perchè IE 8 è ancora in Beta, serve per riempire la falla di tutti quei siti che si sono adeguati ad IE 7 non rispettando gli standard. Se lo dico in cinese è più chiaro? :-)
# - postato da Gianni Malanga - 20 Novembre 2008 - 12:46
24
Per quanto mi riguarda, scrivo sito w3c compliants che girano benissimo su FF e safari da anni. Ma noto in IE8 le stesse lacune a livello rendering = non si sono evoluti.
25
Questo è un altro discorso per il quale non entro nel merito non essendone molto informato. Ma la questione dell’header custom da aggiungere per visualizzare i siti come se si stesse utilizzando IE7 è un’altra cosa. Non capisco quale sia lo scandalo.
# - postato da Gianni Malanga - 20 Novembre 2008 - 12:55
26
@gianni malaga
in questo senso concordo con te.
# - postato da Jan Tonellato - 20 Novembre 2008 - 13:01
27
Mamma mia…
Se Ballmer è un uomo di parola, allora che si sbrighi a mandare Trident in pensione e ad adottare Webkit…# - postato da Gabbianone94 - 20 Novembre 2008 - 16:44
28
@Gianni Malanga….
Suvvia….
E tu pensi che la Microsoft legga le missive che indicano un errore nelle sue cose?Ma dai….La procedura di solito è la seguente…..
La prima segnalazione viene ignorata….
La seconda viene letta (forse) ma nella risposta viene detto all’autore che s’è sbagliato, perchè Microsoft, in quanto divinità dell’ IT non fa errori…Mai….
Alla terza segnalazione arriva lo spu….pardon….screditamento pubblicamente (nella maggior parte dei casi,a questo pto, i segnalatori vanno a pascolare le capre, si fanno monaci buddisti o, più realisticamente cambiano macchina e sistema operativo e della Microsoft non ne vogliono più sapere….Manco se li pagano a peso d’oro o viene loro proposto di sostituire Ballmer….).
Alla quarta segnalazione arrivano gli avvocati Microsoft e minacciano l’autore della segnalazione di denunciarlo per violazione di segreto industriale e un’infinità di altri reati, i più fantasiosi e creativi possibile.
La causa? Avere messo in dubbio la perfezione divina della Microsoft attraverso una segnalazione di errore (di cui è stata verificata la presenza in una quantità spaventosa di righe), per violazione di segreto industriale, di spingere alla bancarotta la Microsoft e di rivelare al pubblico il segreto di Pulcinella che parla delle falle, note a tutta la Galassia e anche oltre, che sono presenti, in qualche misura, all’interno di tutti i prodotti fatti in Microsoft….Voglio pensare che sia stata colta l’ironia.
Sì ho letto il testo ma quella soluzione è insensata lo stesso…..
Chiedo scusa per la lunghezza della risposta….
# - postato da Ratamusa - 20 Novembre 2008 - 18:50







