¿Hay alguna manera de forzar que una página en IE8 se represente en el modo peculiaridades de IE7 o en el modo peculiaridades de IE8 Compat View?

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

Pregunta

NOTA:Cuando digo "Modo de navegador" y "Modo de documento", me refiero a las opciones de renderizado en la barra de menú de las herramientas de desarrollo de IE8.

Estamos notando una funcionalidad extraña en nuestro sitio web en Internet Explorer 8.Cuando el usuario hace clic en el botón "Agregar al carrito", el jQuery .load() Se llama al método para solicitar una nueva página web que luego se coloca dentro de una ventana "emergente" de JavaScript.Todo funciona muy bien en IE7 (y en Firefox, Chrome y Safari, de hecho).

Sin embargo, en IE8, todos <table> Los elementos (y sus hijos) están ocultos en el contenido que se carga a través de .load().Esto solo sucede en el modo Quirks de IE8 (predeterminado para la página) y no en el modo Quirks de IE7.

Sé que puedo usar el <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> o <meta http-equiv="X-UA-Compatible" content="IE=7" /> etiquetas para decirle a IE8 cómo debe representar el documento, pero esto obliga a que la página se represente como estándar IE7. documento en IE8 "Modo Navegador".

Lo que necesito, por extraño que parezca, es forzar que la página se represente en modo Quirks, ya sea en el modo de navegador IE7 o en el modo de navegador de vista de compatibilidad IE8.es posible?

Esto también plantea las preguntas:¿Se supone que el modo peculiaridades de IE8 es el mismo que el modo peculiaridades de IE7?

¿Fue útil?

Solución

modo

Peculiaridades se utiliza para referirse a la representación que se obtiene cuando no se especifica un tipo de documento (o especifica un tipo de documento muy viejo, ver la tabla el artículo de Wikipedia sobre el tema ). Que la prestación se basa en IE5 (o 5.5, no recuerdo cuál). Es decir sin cambios entre IE7 e IE8.

Si usted está experimentando un comportamiento diferente en IE8 cuando está haciendo el documento en Internet Explorer 7 o el modo de caprichos, entonces esto sugiere que el problema está relacionado con las comprobaciones de versión - porque eso es lo que los modos de control del navegador . Si sus comprobaciones de versión no tratan de manera diferente a Internet Explorer 8 Internet Explorer 7, y el modo documento es IE7 o peculiaridades modo, entonces no se supone para ver las diferencias.

Otros consejos

Cuando un navegador está en el modo no estándar no se puede esperar nada bueno de él. Hacer que su código compatible con el estándar HTML para que el navegador entra en modo de estándares y entonces se puede empezar a buscar en su problema de JavaScript.

Me encuentro con el mismo problema y descubrí que existe una diferencia de comportamiento entre el modo de navegador IE7 e IE8 que no se debe a la verificación de versiones.Cuando el contenido que intenta cargar en un HTML interno incluye un DOCTYPE, en el modo de navegador IE8, el contenido dentro de las tablas no se mostrará, pero sí en IE7 y en el modo IE7 (todo esto se aplica solo al modo peculiar del documento). modo).El siguiente ejemplo HTML demuestra el problema (el texto "Dentro de la tabla" no se muestra en el modo de navegador IE8):

<html>
    <head>
        <title>DOCTYPE Browser mode test</title>
    </head>
    <body>
        <div id="content">Original Content</div>

        <button type="button" onclick="document.getElementById('content').innerHTML = '<!DOCTYPE>Outside table <table>Inside Table</table>';">Change Content!</button>
    </body>
</html>

Lamentablemente no he encontrado una manera de obtener el modo peculiaridades con el modo de navegador IE7.Puede solucionar el problema haciendo algo como "document.getElementById('content').innerHTML = document.getElementById('content').innerHTML", porque DOCTYPE y otras piezas extrañas se han analizado, por lo que restablecerlo causa las tablas se mostrarán nuevamente.

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