8

En IE 8, podemos sacar las herramientas de desarrollo. A continuación, en la parte superior, hay un modo de navegación:Herramientas de desarrollo de IE 8: Modo de navegador: IE 7, IE 8, pero ¿qué es IE 8 "Vista de compatibilidad"?

IE 7 
IE 8 
IE 8 Compatibility View 

Así que si IE 7 es forzar a la página que se muestra como si el navegador es IE 7, y
IE 8 es forzar a la página que se muestra el uso de la estándar IE 8 como es,
entonces ¿para qué es extra IE 8 "Compatibility View"? ¿De qué sirve? Si ya tenemos IE 7, ¿por qué necesita este modo adicional? ¿Qué hace este modo que el modo IE 7 no puede hacer?

Respuesta

6

La diferencia está en la cadena del agente de usuario.

"IE7" emula la cadena de agente de usuario de IE7 exactamente, mostrando MSIE 7.0. "IE8" usa la cadena de agente de usuario nativo de IE8 exactamente, mostrando MSIE 8.0 así como Trident/4.0, que es la versión del motor de diseño Trident utilizado en IE8.

IE8-Compatibility utiliza la cadena del agente de usuario nativo del navegador, pero cambia "8.0" a "7.0".

Como Trident no tenía un número de versión anterior a IE7, la cadena IE7 no muestra "Trident/x.x". Entonces, con una cadena de agente de usuario de MSIE 7.0, si también está presente "Trident/4.0", sabrá que IE8 se está ejecutando en la vista de compatibilidad; si "Trident/x.x" NO está allí, usted sabe que es el IE7 o IE8 real en modo IE7 (no modo de compatibilidad).

Espero que mi explicación sea lo suficientemente clara, y aquí hay un ejemplo de algunas cadenas de agente de usuario a continuación.

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-Compatibilidad:

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

¿Cuál es el uso de Internet Explorer 8 compatibilidad de vista entonces? ¿Solo para tener una cadena USER_AGENT diferente? Además, cuando el sitio web proporciona páginas al usuario con la metaetiqueta con IE7-Compatibility, ¿entonces no se revierte la situación? (el navegador dice que es IE 8, pero la página se procesa en el cliente usando el motor de renderizado que no es Trident), así que de nuevo, ¿para qué sirve elegir "Vista de compatibilidad de IE 8" en las Herramientas para desarrolladores? –

+0

Los sitios web pueden diferenciar entre IE7 e IE8 en modo compatibilidad según la cadena del agente de usuario. Los diferentes modos le permitirán ver las diferencias que pueda tener el sitio web cuando se envía cualquiera de las dos cadenas. –

+0

Entonces, ¿el "Modo de navegador" solo controla esta cadena que se envía al servidor? ¿No afecta la forma en que se procesa el contenido? ¿Dónde entra en juego el modo documento? – felickz

Cuestiones relacionadas