internet-explorer-8 - una - modo de documento emulador internet explorer
Determine si en el modo de compatibilidad IE8 usando condicionales (3)
Entiendo por mi investigación que IE8 hace cosas molestas como forzarse en el modo IE7 para hosts de intranet locales y rangos de IP locales. Entiendo por una pregunta anterior que no hay forma de usar declaraciones condicionales ya que, independientemente de si IE8 está renderizando en modo IE8 o IE7, solo usará el condicional <!--[if IE 8]>
.
Dado que esta pregunta fue hecha hace un tiempo (durante la fase beta de IE8 por el aspecto de las cosas) me pregunto si esto ha cambiado o si hay alguna otra forma de usar condicionales para determinar si IE8 está en modo de compatibilidad.
¡Gracias!
Al final, elegí mezclar las dos estrategias comunes para lidiar con este error.
Creé un archivo CSS de anulación, que importo usando comentarios condicionales. Sin embargo, en el caso de IE 8 o 9, esta anulación no se ve tan bien, por lo que incluyo el interruptor de encabezado ''force IE into latest rendering mode'', como se muestra a continuación.
<!--[if lte IE 7]>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<link rel="stylesheet" type="text/css" href="/Content/IE7Overrides.csss" />
<![endif]-->
Esto proporciona IE7 con un nivel aceptable de seguridad, pero obliga a IE8 e IE9 a mostrarlo en el último navegador, que mostrará correctamente la tabla basada en CSS.
No, no puedes hacerlo usando condicionales.
La mejor manera de hacerlo es usar la propiedad document.documentMode tal como se describe en el enlace publicado por Pekka. ¿Cómo puedo detectar si IE8 se está ejecutando en la vista de compatibilidad?