¿Qué hace <meta http-equiv="X-UA-Compatible" content="IE=edge"?
¿Cuál es la diferencia si una página web comienza con
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
y si una página empieza por
<!DOCTYPE html>
<html>
<head>
<!-- without X-UA-Compatible meta -->
Si no hay ninguna diferencia, supongo que puedo ignorar la meta cabecera X-UA-Compatible
, ya que sólo quiero que se renderice en el modo más estándar en todas las versiones de IE.
1374
3
Actualización de octubre de 2015
Esta respuesta fue publicada hace varios años y ahora la pregunta debería ser ¿Debería considerar el uso de la etiqueta
X-UA-Compatible
en su sitio? con los cambios que Microsoft ha hecho en sus navegadores (más sobre ellos a continuación). Dependiendo de los navegadores de Microsoft que soporte, puede que no necesite seguir usando la etiqueta "X-UA-Compatible". Si necesita soportar IE9 o IE8, entonces recomendaría usar la etiqueta. Si sólo es compatible con los navegadores más recientes (IE11 y/o Edge), entonces consideraría dejar de usar esta etiqueta. Si utiliza Twitter Bootstrap y necesita eliminar las advertencias de validación, esta etiqueta debe aparecer en su orden especificado. Información adicional a continuación:La etiqueta meta
X-UA-Compatible
permite a los autores de la web elegir la versión de Internet Explorer con la que se debe renderizar la página. IE11 ha introducido cambios en estos modos; véase la nota sobre IE11 que figura a continuación. Microsoft Edge, el navegador que ha sustituido a IE11, sólo respeta la metaetiquetaX-UA-Compatible
en determinadas circunstancias. Véase la nota de Microsoft Edge más abajo. Según Microsoft, cuando se utiliza la etiquetaX-UA-Compatible
, debe estar lo más alto posible en elhead
de su documento: Si utiliza la etiqueta META X-UA-Compatible, debe colocarla lo más cerca posible de la parte superior del HEAD de la página. Internet Explorer comienza a interpretar el marcado utilizando la última versión. Cuando Internet Explorer encuentra la etiqueta META compatible con X-UA, comienza a utilizar el motor de la versión designada. Esto es un golpe de rendimiento porque el navegador debe parar y reiniciar el análisis del contenido. Estas son sus opciones:Utilice
content=
"IE=edge,chrome=1"
Omita otros modos `X-UA-CompatibleLa barra de direcciones de IE9 no muestra el [botón de vista de compatibilidad][MSICON]
y la página no muestra también un revoltijo de menús, imágenes y cuadros de texto fuera de lugar.
Esta etiqueta meta es necesaria para habilitar
javascript::JSON.parse()
en IE8(incluso cuando `` está presente)
La renderización/ejecución de HTML/CSS/JavaScript moderno es más válida (más bonita).
Rendimiento
El [motor de renderizado Trident][] debería funcionar más rápido en su modo edge. Motor de renderizado [Trident]: https://en.wikipedia.org/wiki/Internet_Explorer
Uso
En su HTML
IE=edge
significa que IE debe usar la última versión (edge) de su motor de renderizadochrome=1
significa que IE debe usar el motor de renderizado de Chrome si está instalado O mejor en la configuración de su servidor web:(ver también la respuesta de RiaD's)
Apache como propone pixeline
Nginx como propone Stef Pause servidor {
...
Varnish proxy propuesto por Lucas Riutzel sub vcl_deliver { if( resp.http.Content-Type ~ "text/html" ) { set resp.http.X-UA-Compatible = "IE=edge,chrome=1"; } }
IIS (desde v7)
Microsoft recomienda el modo Edge desde IE11
Tal y como ha advertido Lynda (ver comentarios), los Cambios de compatibilidad en IE11 recomiendan el modo Edge:
Pero la posición de Microsoft no era clara. Otra [página de MSDN no recomendaba el modo Edge][noEdge]:
Use esto para forzar a IE a ocultar ese molesto botón de compatibilidad del navegador en la barra de direcciones: