8

In IE 8, possiamo mettere in evidenza gli Strumenti per sviluppatori. Poi sulla parte superiore, c'è una modalità Browser:Strumenti di sviluppo di IE 8: Modalità browser: IE 7, IE 8, ma che cos'è IE 8 "Compatibility View"?

IE 7 
IE 8 
IE 8 Compatibility View 

Quindi, se IE 7 è quello di forzare la pagina per essere mostrato come se il browser è IE 7, e
IE 8 è quello di forzare la pagina da visualizzare utilizzando il standard IE 8 così com'è,
allora qual è lo IE 8 "Compatibility View" in più per? Che uso è? Se abbiamo già IE 7, perché abbiamo bisogno di questa modalità extra? Che cosa fa questa modalità che la modalità IE 7 non può fare?

risposta

6

La differenza è nella stringa dell'agente utente.

"IE7" emula esattamente la stringa dell'agente utente di IE7, mostrando MSIE 7.0. "IE8" utilizza esattamente la stringa dell'agente utente nativo di IE8, mostrando MSIE 8.0 e Trident/4.0, che è la versione del motore di layout Trident utilizzato in IE8.

IE8-Compatibilità utilizza la stringa dell'agente utente nativo del browser, ma cambia "8.0" in "7.0".

Poiché Trident non aveva un numero di versione precedente a IE7, la stringa IE7 non mostra "Trident/x.x". Quindi con una stringa dell'agente utente MSIE 7.0, se è presente anche "Trident/4.0", si sa che è in esecuzione IE8 in visualizzazione compatibile; se "Trident/x.x" NON è lì, sai che è il vero IE7 o IE8 in modalità IE7 (non in modalità compatibilità).

Spero che la mia spiegazione sia abbastanza chiara, ed ecco un esempio di alcune stringhe di user-agent di seguito.

IE7:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; FDM; MS-RTC EA 2; Tablet PC 2.0; .NET4.0C; .NET4.0E)

IE8:

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; FDM; MS-RTC EA 2; Tablet PC 2.0; .NET4.0C; .NET4.0E)

IE8-compatibilità:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; FDM; MS-RTC EA 2; Tablet PC 2.0; .NET4.0C; .NET4.0E)

+0

Qual è l'uso di IE 8 Visualizzazione Compatibilità allora? Solo per avere una stringa USER_AGENT diversa? Inoltre, quando il sito web fornisce pagine con il meta tag con IE7-Compatibilità, la situazione non viene invertita? (il browser dice che è IE 8, ma la pagina viene visualizzata al client utilizzando il motore di rendering non Trident) - quindi, ancora una volta, a cosa serve scegliere "IE 8 Compatibility View" in Strumenti per sviluppatori? –

+0

I siti Web possono differenziare tra IE7 e IE8 in modalità di compatibilità in base alla stringa dell'agente utente. Le diverse modalità ti permetteranno di vedere tutte le differenze che il sito può avere quando viene inviata una delle due stringhe. –

+0

Quindi la "Modalità browser" controlla solo questa stringa che viene inviata al server? Non influisce sul modo in cui viene reso il contenuto? Dove entra in gioco la modalità documento? – felickz