¿Cómo puede Javascript hacer que IE 8 vuelva a cargar una página en la vista de compatibilidad?

StackOverflow https://stackoverflow.com/questions/1444944

Pregunta

Estoy probando una aplicación web bastante compleja basada en Javascript en Internet Explorer 8 en Windows Vista. Después de cargar la aplicación, IE está en "estándares". modo de navegador y "IE 8 estándares" modo de documento Mientras la aplicación se está ejecutando, IE a veces vuelve a cargar la página y muestra un mensaje que dice algo así como "Un problema de visualización con (URL) ha provocado que Internet Explorer vuelva a cargar la página en la vista de compatibilidad". (no es el mensaje exacto, estoy en una versión no inglesa de Vista). Después de la recarga, el navegador está en modo Quirks.

La depuración del código Javascript ha sido un ejercicio inútil ya que el problema no puede reproducirse ni reducirse de manera confiable, por lo que agradecería cualquier idea sobre lo que podría causar este comportamiento.

¿Fue útil?

Solución

Debe haber un problema con el marcado que está sirviendo / creando a través de innerHTML . Aquí hay un artículo del equipo de IE que incluye detalles de la recuperación automática de IE del marcado que es imposible de analizar correctamente en el modo estándar IE8:

  

... hay rutas de código particulares dentro del nuevo motor de diseño donde, en caso de que ocurra un error, el proceso de diseño no puede recuperarse con gracia y hemos mantenido afirmaciones alrededor de estas rutas ... Hemos refinado esto experiencia adicional en la versión lanzada de IE8 mediante la recuperación de diseño & # 8220; afirmaciones duras & # 8221; usando la Vista de compatibilidad. En otras palabras, creemos que mostrar una página de la forma en que IE7 ofrecería ofrece una mejor experiencia de usuario que no mostrar ningún contenido.

Tenga en cuenta que el uso de innerHTML invoca el analizador HTML, por lo que podría desencadenar este problema incluso después de cargar la página si se alimenta una cadena HTML de la que no puede formar cabecera ni cola.

Otros consejos

marque aquí ..

básicamente. por página, puede agregar una metaetiqueta

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

o, en todo el sitio, agregue esto al encabezado:

X-UA-Compatible: IE=EmulateIE7

Suena como Recuperación automática de fallas que ocurre en el renderizador mismo. Eso es un error en IE en lugar de sus scripts, por lo que la depuración será realmente difícil.

¿Esto sucede en todas las instalaciones de IE8? ¿Se actualiza IE8 con los últimos parches? (¿Podría ser una extensión de terceros poco confiable?)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top