Pregunta

En el IE 8, podemos llevar a cabo las herramientas de desarrollo. A continuación, en la parte superior, hay un modo de navegación:

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 utilizando el estándar IE 8 como es,
entonces, ¿qué es el IE 8 "Compatibility View" extra para? ¿Para qué sirve? Si ya tenemos IE 7, ¿por qué necesita este modo extra? ¿Qué dice este modo de hacer eso el modo IE 7 no puede hacer?

¿Fue útil?

Solución

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

"IE7" emula cadena de agente de usuario de Internet Explorer 7 con exactitud, mostrando MSIE 7.0. "IE8" utiliza cadena de agente de usuario nativa de IE8 exactamente, mostrando MSIE 8.0, así como Trident / 4.0, que es la versión del motor de renderizado Trident utilizado en IE8.

IE8-compatibilidad usa cadena de agente de usuario nativa del navegador, pero cambia de "8,0" a "7.0".

Debido a Trident no tenía un número de versión anterior a Internet Explorer 7, la cadena de IE7 no mostrar "Trident / x.x". Así, con una cadena de agente de usuario MSIE 7.0, si "Trident / 4.0" también está presente, sabe que es IE8 corriendo en la vista de compatibilidad; si "Trident / x.x" no está ahí, sabes que es ya sea el verdadero IE7 o IE8 en modo IE7 (no el modo de compatibilidad).

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

Internet Explorer 7:

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)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top