internet explorer - internet - ¿Por qué usar X-UA-Compatible IE=Edge más?
x-ua-compatible ie11 (4)
Como señala la respuesta de @David, a menos que esté alojando un sitio en la zona "Intranet local", hay muy pocas razones para incluir <meta http-equiv="X-UA-Compatible" content="IE=edge">
en sus páginas web y (de acuerdo con las recomendaciones de mejores prácticas de Microsoft ) absolutamente ninguna razón para incluirlo en el HTML. (Debe colocarlo en la configuración del servidor o en los encabezados de los sitios, no en el propio HTML).
Si está considerando utilizar X-UA-Compatible
en cualquier lugar de su proyecto, debe recordar que la Vista de compatibilidad solo afecta a IE8, 9 y 10. Fue introducido solo en IE8 y fue deshabilitado en IE11.
También tenga en cuenta que IE11 es la única versión oficialmente compatible de IE en este momento . Todas las versiones anteriores deben considerarse inseguras.
Si eso no fue motivo suficiente para convencerlo de que no lo use, considere que Microsoft afirma que IE8 y versiones superiores ya se procesan automáticamente en el modo estándar cuando hay un <!DOCTYPE
presente , lo que lo hace aún más inútil.
Puede ver por sí mismo el flujo que IE toma para decidir qué modo de documento usar:
Como puede ver, si no hay ninguna metaetiqueta X-UA-Compatible
o encabezado HTTP, verifica la configuración de "Vista de compatibilidad" del usuario. Si el usuario no tiene ninguno para su sitio web, IE verifica la presencia de una declaración <!DOCTYPE
. Si encuentra uno, automáticamente usa el último modo de estándares (también conocido como "EmulateIEx"). Si no lo hace, vuelve al modo Quirks.
Aún más razones por las que no debes usar la metaetiqueta "Compatible con X-UA":
- No pasa Validación de HTML
- Hace que IE se detenga y vuelva a renderizar su página
- Solo se diseñó para uso temporal mientras se solucionan los problemas
Citas de Microsoft (énfasis mío):
Disminuye la velocidad del procesamiento de la página inicial ...
Cuando Internet Explorer encuentra la etiqueta META compatible con X-UA, vuelve a empezar utilizando el motor de la versión designada. Este es un golpe de rendimiento porque el navegador debe detenerse y reiniciar el análisis del contenido.
Solo fue diseñado para uso temporal ...
La directiva X-UA-Compatible es una herramienta que permite que las aplicaciones funcionen en la última versión de Internet Explorer mientras se realizan las actualizaciones en la aplicación .
Hay mejores formas de implementar X-UA-Compatible si realmente lo necesitas ...
La mejor práctica es un encabezado HTTP compatible con X-UA . Al agregar la directiva al encabezado de respuesta, se le informa a Internet Explorer qué motor usar antes de comenzar el análisis del contenido. Esto debe configurarse en el servidor del sitio web.
Ahora solo IE11 es oficialmente compatible con los sistemas operativos modernos ...
A partir del 12 de enero de 2016, solo la versión más actual de Internet Explorer disponible para un sistema operativo compatible recibirá soporte técnico y actualizaciones de seguridad. Internet Explorer 11 es la última versión de Internet Explorer y continuará recibiendo actualizaciones de seguridad, arreglos de compatibilidad y soporte técnico en Windows 7, Windows 8.1 y Windows 10 .
En realidad, la única razón para incluir la metaetiqueta X-UA-Compatible
en su HTML era anular la configuración de "Vista de compatibilidad" de un usuario para su sitio web. En casi todos los casos, el usuario no habrá cambiado estas configuraciones (¿por qué lo harían?).
En resumen: No lo hagas.
Tomé varios cursos en línea últimamente y todavía veo que algunos instructores agregan la siguiente metaetiqueta en la parte superior de sus documentos por defecto:
<meta http-equiv="X-UA-Compatible" content="IE=edge">
El pensamiento parece ser que esto es tan importante y útil como <meta charset="UTF-8">
.
¿Pero por qué?
De acuerdo con la documentación de Modern.ie de Microsoft, es la "mejor práctica" que "asegura que Internet Explorer utiliza el último motor". OK bastante justo.
Sin embargo, si sigue el diagrama de flujo en MSDN , muestra claramente que un documento sin información compatible con X-UA se reenvía a las preferencias de "Vista de compatibilidad" del usuario, y si eso no se establece, simplemente siga la declaración! DOCTYPE .
En otras palabras, a menos que el usuario tenga algunas configuraciones de Vista de compatibilidad en su lugar, IE simplemente seguirá su! DOCTYPE y usará el último modo de estándares de su navegador para renderizar de todos modos ... No es necesario un X-UA-Compatible IE=Edge
Declaración X-UA-Compatible IE=Edge
en absoluto.
Como dice MSDN: " Use la declaración de tipo de documento HTML5 para habilitar el modo de borde ".
Entonces, ¿en qué circunstancias se necesita X-UA-Compatible IE=Edge
?
Henri Sivonen hizo una referencia muy útil sobre cómo los navegadores eligieron el modo de renderizado. Puede leerlo todo allí: https://hsivonen.fi/doctype/ .
Si el usuario está navegando en una página ubicada en la zona "Intranet local" (como en una intranet corporativa), la "vista de compatibilidad" está activada de manera predeterminada. Esto es cuando he usado "X-UA-Compatible" para obligar a IE a usar el último motor.
Siempre que esté configurado en "Edge", se valida como HTML5, y me dicen que solo hace que IE vuelva a renderizar la página si el sitio ya la estaba renderizando en modo de compatibilidad. Aún así, ponerlo en la configuración del servidor ( .htaccess
, etc.) es mejor que poner el HTML de cada página.