META X-UA-Compatible: Confuso al extremo

La aparición de Internet Explorer 8 ha puesto las cosas patas para arriba creando un navegador que es capaz de acercarse a los estándares e incluso superar el llamado Acid2 test pero, a la vez, obligando a los usuarios a tratar de entender que las páginas que visitamos, se pueden ver de distintos modos, es decir, ignorando esa capacidad o no.

Las explicaciones son confusas, en un principio, la teoría dice que la etiqueta DOCTYPE indica el tipo de documento o página y de qué manera, el navegador debería interpretar el código y mostrarla pero, en la práctica, eso no es así y cuando apareció IE7, muchos sitios dejaron de verse correctamente porque los desarrolladores ignoraban este tema ya que las versiones previas de IE hacían caso omiso de ellas. Esto, obligó a que se establecieran distintos modos; por ejemplo, podía verse un sitio en modo standard, ignorando las mejoras o con las nuevas facilidade (más información).

En el nombre de la compatibilidad, IE6 tenía los llamados Quirks Mode que mostraban las páginas como si estuvieran codificadas para las versiones viejas y un Standard Mode para verlas como si estuvieran realizadas para las versiones nuevas. Si un sitio no tenía un DOCTYPE, Internet Explorer 6 lo mostaba en Quirk Mode, si tenía un DOCTYPE válido lo mostraba en Standard Mode.

Con Internet Explorer 8 las cosas se complicaron más y las alternativas aumentrraon, los usuarios pueden decidir enter varios modos: Emulate IE7 Mode, Emulate IE8 Mode, IE5 Mode, IE7 Mode, etc (más información). De todos ellos, el llamado IE8 Mode es que tiene el soporte más amplio y el que se acerca más a las recomendaciones de la w3org.

Complicadísimo de enteder porque usando el mismo navegador, dos personas verán cosas diferentes dependiendo del modo que tengan establecido por defecto.

Aunque no parece ser una solución completa, para aliviar un poco este problema han creado una etiqueta META que puede agregarse y que permite informarle al navegador cuál es el modo adecuado de mostrar un sitio (más información). Por ejemplo, esto le indicará que debe usar en modo de emulación de IE7:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
Lo mismo podría hacerse con cualquier otra versión, cambiando el valor del atributo content (IE=5, IE=7, IE=8) o usar IE=edge que le indique que utilice el modo más avanzado.

La etiqueta META debe estar colocada inmediatamente después de la etiqueta TITLE:
<meta http-equiv='X-UA-Compatible' content='IE=8' />
¿Cómo podemos saber el modo de una página? Es sencillo, abrimos IE8 y navegamos hasta ella. Luego, escribimos lo siguiente en la barra de direcciones:
javascript:alert(document.documentMode);
Al ejecutar eso, se nos mostarrá una ventana de alerta con el número de la versión.

0 comentarios:

Publicar un comentario