2012-06-13 15 views
5

He estado investigando un problema y estoy luchando por nuevas ideas, así que pensé que vería si alguien puede ayudar.Página de IE forzada en IE7 Document Mode

Tengo una página que se muestra bien en Chrome y Firefox. También se muestra bien en IE9, pero algunos de nuestros clientes TIENEN que usar el modo de compatibilidad ... y cuando la página se ve en modo de compatibilidad, obliga, por alguna razón, a mostrarla en el Modo de documento IE7.

la página tiene DOCTYPE HTML como la primera línea, y también:

meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1 

Lo cual, creo que debe obligar a la página que se mostrará en el modo de documento más reciente.

Cuando hojeo el código HTML dentro F12 Herramientas de Desarrollo, la primera línea del HTML se ha comentado:

!-- DOCTYPE HTML -- 

¿Puede alguien sugerir algo que pueda tratar de resolver este problema, es decir, obligar a la página para mostrar en el modo de documento IE9? Cuando modifico manualmente el Modo de documento a IE9 dentro de Herramientas de desarrollo, la página se muestra bien, así que solo tengo que averiguar por qué IE está forzando el Modo de documento IE7 y no usa el predeterminado.

Cualquier ayuda muy apreciada.

Respuesta

7

Puede ver mi respuesta a una pregunta similar: X-UA-Compatible is set to IE=edge, but it still doesn't stop Compatibility Mode. La metaetiqueta no anula el tipo de documento si el usuario tiene ciertas opciones activadas en el cuadro de diálogo Configuración de compatibilidad, como "Mostrar sitios de intranet en vista de compatibilidad" o "Mostrar todos los sitios en vista de compatibilidad", que suena como puede ser el caso para algunos de sus clientes, ya sea su intención o las políticas de su compañía.

Para forzarlo fuera de la vista de compatibilidad, debe establecer X-UA-Compatible en el servidor de alojamiento en lugar de en el archivo que se sirve; para .NET normalmente lo configurará en el archivo web.config (IIS7) como mi ejemplo a continuación o lo agregará a los encabezados Http personalizados de las propiedades de la aplicación web (IIS6).

<system.webServer> 
    <httpProtocol> 
    <customHeaders> 
     <clear /> 
     <add name="X-UA-Compatible" value="IE=EmulateIE8" /> 
    </customHeaders> 
    </httpProtocol> 
</system.webServer> 
+1

Además, no es necesario que incluya el en el código anterior; elimina cualquier otro encabezado personalizado que pueda establecerse en otra parte –

Cuestiones relacionadas