vista todos sea que predeterminar para pagina orientada navegadores modo los internet hacer forzar esta emulador emulacion documento con compatible compatibilidad como codigo adjunta html internet-explorer-8 ie8-compatibility-mode

html - todos - ¿Qué cosas específicas hacen que IE8 active el modo de compatibilidad?



modo de documento emulador internet explorer (4)

Después de una larga sesión de depuración (utilizando las alertas de la vieja escuela para determinar con exactitud qué fallaba), esta línea aparentemente inocente de manipulación dom era la culpable:

document.getElementById("literal"+varValue).style.display = "none";

No hubo error aquí, y el elemento aparentemente se encontró (es decir, este no es un puntero nulo de variedad de jardín).

Esta es una aplicación a gran escala, y están sucediendo muchas cosas en torno a este código. Lo cambié a lo siguiente, y aparentemente esto evitó el problema:

setTimeout(function(){ var layoutEl = document.getElementById("literal"+varValue); if (layoutEl) layoutEl.style.display = "none"; },10)

Tengo una aplicación que, en algunas circunstancias, hace que IE8 muestre el mensaje de compatibilidad y lo vuelva a cargar en modo compat:

un problema que muestra Internet Explorer causado para actualizar la página web usando la vista de compatibilidad

Esto es raro, y no ocurre debido a las metaetiquetas, hasta donde puedo decir. Ocurre como una respuesta a la acción del usuario que altera el DOM. Este es el mismo problema que: https://superuser.com/questions/215281/how-do-i-stop-i-e-jumping-into-compatability-view , pero mi pregunta es: ¿Qué tipo de cosas causan esto, como una ayuda para arreglarlo.

Dicho de otra manera, consulte este sitio thesitewizard.com , donde una tercera causa del modo de compatibilidad en IE8 se describe como:

y, en ocasiones, por alguna otra razón indescifrable e indescifrable, en páginas que se validan como compatibles con los estándares (o, al menos, lo hace en Release Candidate 1).

Y la pregunta es: ¿Qué razones insondables e indocumentadas?


El siguiente contenido proviene de un artículo de MSDN " Control de representación predeterminada ".

Tenga en cuenta que ciertas condiciones, como las enumeradas aquí, pueden obligar a Internet Explorer a mostrar páginas en un modo de compatibilidad de documentos diferente al especificado en la página web.
  • La Vista de compatibilidad está habilitada para la página.
  • La página se carga en la zona de Intranet e Internet Explorer está configurado para usar la Vista de compatibilidad para las páginas cargadas desde la zona de Internet.
  • La página se carga desde el sistema de archivos local del usuario (lo que significa que la página se carga en la zona de Intranet) e Internet Explorer está configurado para usar la Vista de compatibilidad para páginas cargadas desde la zona de Internet.
  • Internet Explorer está configurado para mostrar todos los sitios web en la Vista de compatibilidad.
  • Internet Explorer está configurado para usar la Lista de vistas de compatibilidad, que especifica un conjunto de sitios web que siempre se muestran en la Vista de compatibilidad.
  • Las herramientas de desarrollador se utilizan para anular la configuración especificada en la página web.
  • La página web encontró un error de diseño de página e Internet Explorer está configurado para recuperarse automáticamente de dichos errores volviendo a abrir la página en la Vista de compatibilidad.
  • La página contiene una Marca de la Web que lo dirige a cargarse en una zona en particular.

Estos enlaces proporcionan información adicional que describe cómo Internet Explorer determina el modo de documento apropiado para una página web:


Sé que esta es una vieja pregunta, pero pensé que agregaría algo que acabo de encontrar. Estaba teniendo un problema donde el modo de compatibilidad estaba siendo forzado y no pude rastrear la fuente. Saqué manualmente la página del modo de compatibilidad y noté que algunos caracteres no aparecían. Terminó siendo una lista con viñetas que usaba un personaje personalizado en un pseudo elemento:

li:before { content: ''/25B6''; }

Como una solución rápida, terminé sobrescribiendo esto para IE menos de 9:

.lt-ie9 li:before { content: ''''; }

Este artículo me dio la idea de buscar personajes mal manejados. Espero que esto ayude a alguien si tropiezan con un problema similar.


Sé que ya tienes tu respuesta, pero hoy también he estado buscando qué causaba que IE8 activara el modo de compatibilidad. Busqué código JavaScript, css (: primero,: último, etc.) pero parecía ser un estilo en línea:

altura máxima en combinación con desbordamiento ...

Entonces esto (también) activa el modo de compatibilidad en IE8:

style="overflow:scroll;max-height:200px;"

Y esto no, así que resolvió mi problema:

style="overflow:scroll;height:200px;"

Editar: Creo que esto está relacionado: IE8 desbordamiento: automático con altura máxima