vista the predeterminado predeterminada page modo internet emulacion documento desactivar compatibilidad change cambiar attached internet-explorer internet-explorer-9 compatibility-mode ie-compatibility-mode

internet-explorer - the - modo compatibilidad internet explorer 11



Cómo evitar que IE9 represente sitios de intranet en modo de compatibilidad (4)

A partir de la respuesta de @novicePrgrmr, parece haber una solución para IE9 que carga Intranets en IE7-mode. Si bien esto todavía desencadena el modo de compatibilidad, encontré una ligera modificación en el marcado de HTML5 de Paul Irish al menos permite a IE9 renderizar Intranets en estándares IE9:

<!doctype html> <html class="no-js" lang="en"> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta charset="utf-8"> </head> <!--[if lt IE 7]> <body class="home lt-ie9 lt-ie8 lt-ie7"> <![endif]--> <!--[if IE 7]> <body class="home lt-ie9 lt-ie8"> <![endif]--> <!--[if IE 8]> <body class="home lt-ie9"> <![endif]--> <!--[if IE 9]> <body class="home lt-ie10"><![endif]--> <!--[if gt IE 9]><!--> <body class="home"> <!--<![endif]--> <p>content</p> </body> </html>

Esto sigue siendo un código HTML válido, y el CSS específico de IE existente debería funcionar bien, siempre que apunte IE utilizando .lt-ie lugar de html.lt-ie .

IE9 tiene un problema extraño en el que hace que los sitios de intranet estén en modo de compatibilidad.

¿Alguien sabe una forma de evitar que esto suceda?

Nota: No estoy buscando una forma de evitarlo en una máquina de un solo usuario, sino una forma programática para evitar que el sitio se reproduzca en modo compatibilidad.


Después de una búsqueda exhaustiva, descubrí cómo evitar con éxito que un sitio de intranet renderice en modo de compatibilidad en IE9 en este blog :

Del blog de Tesmond

Hay 2 peculiaridades en IE9 que pueden hacer que el modo de compatibilidad permanezca vigente. El metaelemento X-UA-Compatible debe ser el primer metaelemento en la sección de encabezado. No puede tener sentencias condicionales de IE antes del metaelemento compatible con X-UA. Esto significa que si utiliza el maravilloso HTML5 Boilerplate de Paul Irish y luego en una Intranet con la configuración predeterminada de IE9, su sitio web se mostrará en modo de compatibilidad. Necesita cambiar el comienzo del texto estándar de lo siguiente:

<!doctype html> <!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]--> <!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]--> <!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]--> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

a:

<!doctype html> <html class="no-js" lang="en"> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta charset="utf-8">


Esto se puede hacer agregando una metaetiqueta simple

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

¡Otra forma de lograr esto es agregar este código a su archivo .htaccess!

# ---------------------------------------------------------------------- # Better website experience for IE users # ---------------------------------------------------------------------- # Force the latest IE version, in various cases when it may fall back to IE7 mode # github.com/rails/rails/commit/123eb25#commitcomment-118920 # Use ChromeFrame if it''s installed for a better experience for the poor IE folk <IfModule mod_headers.c> Header set X-UA-Compatible "IE=Edge,chrome=1" # mod_headers can''t match by content-type, but we don''t want to send this header on *everything*... <FilesMatch "/.(js|css|gif|png|jpe?g|pdf|xml|oga|ogg|m4a|ogv|mp4|m4v|webm|svg|svgz|eot|ttf|otf|woff|ico|webp|appcache|manifest|htc|crx|oex|xpi|safariextz|vcf)$" > Header unset X-UA-Compatible </FilesMatch> </IfModule>


Si puede agregar código a la página de inicio, simplemente puede agregar esto:

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

al encabezado de su sitio web.

(También puede usar <meta http-equiv="X-UA-Compatible" content="IE=9"> para forzar IE9-Renderer) Esto obligará a IE9 a renderizar en modo estándar.

Otra forma es usar otro tipo de documento: Pon esto en la parte superior de tu código:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">