Contenido "X-UA-Compatible" = "IE = 9; IE = 8; IE = 7; IE = EDGE "

233
<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE" />
  1. En realidad, ¿cuál es el significado de esta declaración?

  2. Algunos de los ejemplos se usan ,para separar versiones de IE, mientras que otros usan ;; ¿cual es correcta?

  3. El orden IE=9; IE=8; IE=7; IE=EDGEtiene cierta importancia, deseo saberlo.

Editar : estoy usando<!DOCTYPE html>

Kuttan Sujith
fuente
Creo que IE = 9 no aptos paraX-UA-Compatible
Krish
3
Google realmente lo recomienda: developers.google.com/web-toolkit/doc/latest/DevGuideIE9
PlantTheIdea

Respuestas:

328

Si es compatible con IE, para las versiones de Internet Explorer 8 y superiores, esto:

<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7" />

Obliga al navegador a representar como los estándares de esa versión en particular. No es compatible con IE7 y versiones inferiores.

Si se separa con punto y coma, establece niveles de compatibilidad para diferentes versiones. Por ejemplo:

<meta http-equiv="X-UA-Compatible" content="IE=7; IE=9" />

Representa IE7 e IE8 como IE7, pero IE9 como IE9. Permite diferentes niveles de compatibilidad con versiones anteriores. Sin embargo, en la vida real, solo debes elegir una de las opciones:

<meta http-equiv="X-UA-Compatible" content="IE=8" />

Esto permite pruebas y mantenimiento mucho más fáciles. Aunque generalmente la versión más útil de esto es usar Emulate:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />

Para esto:

<meta http-equiv="X-UA-Compatible" content="IE=Edge" />

Obliga al navegador a renderizar en cualquiera de los estándares de la versión más reciente.

Para obtener más información, hay mucho para leer sobre MSDN ,

PlantTheIdea
fuente
99
el orden IE = 9; IE = 8; IE = 7; IE = EDGE tiene cierta importancia, deseo saber eso
Kuttan Sujith
Tengo una brecha en mi comprensión de esto. Si mi objetivo para las pruebas es IE8, pero no quiero romper IE7, ¿en qué establecerías esta metaetiqueta? ¿Y otros navegadores usan esto?
Snekse
2
IE7 no reconocerá esto, se implementó primero en IE8. La referencia completa a IE7 anterior es si, por ejemplo, estaba usando IE7 como base para las pruebas y deseaba que todas las versiones más modernas de IE se procesaran como lo haría en los estándares de IE7. Ningún otro navegador utiliza esta etiqueta.
PlantTheIdea
1
IE10 representa bien las aplicaciones web antiguas con IE = 8 (YMMV), sin embargo, la emulación IE11 de IE8 se rompe. Este UA: content="IE=8; IE=11"proporciona el modo de navegador IE10 Compat Document mode los estándares IE8 en IE10, y el modo Document edge en IE11. Uno de los problemas con la asignación de IE10 e IE11 UA es que Microsoft eliminó los comentarios condicionales .
Underverse
Basado en esa metaetiqueta, IE11 no emularía IE8, asumiría IE11 (como se dio en la lista separada por punto y coma). Esa lista también explicaría el retroceso a los estándares de IE8 porque IE10 desconocía la existencia de IE11, al igual que IE8 no podía aplicar los estándares de IE9. ¿Has probado simplemente usando content="IE=8"? O, preferiblemente, content="IE=EmulateIE8"?
PlantTheIdea
4

En ciertos casos, puede ser necesario restringir la visualización de una página web a un modo de documento compatible con una versión anterior de Internet Explorer. Puede hacerlo sirviendo la página con un encabezado compatible con x-ua. Para obtener más información, consulte Especificación de modos de documentos heredados.
- https://msdn.microsoft.com/library/cc288325

Por lo tanto, esta etiqueta se utiliza para preparar la página web en el futuro , de modo que la versión anterior / compatible motor se usa para representarla de la misma manera que el creador la diseñó.

Asegúrese de haberlo verificado para que funcione correctamente con la versión de IE que especifique.

Ujjwal Singh
fuente