html - support - Internet Explorer 11 deshabilita "mostrar sitios de intranet en la vista de compatibilidad" a través de la metaetiqueta que no funciona
html5 browser support list (9)
He estado trabajando en un sitio web de Intranet durante más de 6 meses si he estado usando la doctype
html5 y la metaetiqueta de compatibilidad de bordes para forzar a Internet Explorer a no emular una versión anterior del navegador, y esto ha funcionado bien.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>My title</title>
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
</head>
<body>
</body>
</html>
La razón por la que lo hice de esta manera es porque el lugar donde trabajo utiliza una configuración de directiva para habilitar la vista de compatibilidad para todos los sitios de la intranet, y este enfoque con la configuración EDGE
ha funcionado en Internet Explorer 9.
Hace más de un mes me actualizaron a Internet Explorer 11 y el sitio aún funcionaba como se esperaba.
Hoy esto dejó de funcionar como se esperaba, no puedo decirlo con certeza, pero creo que la política que obliga a la vista de compatibilidad no estaba habilitada en IE11 y ahora lo es ... y como esto se ha habilitado, la metaetiqueta de compatibilidad ya no está haciendo lo que se espera, y este sitio se está ejecutando en el modo Enterprise que emula IE8.
¿Alguien sabe cómo solucionar esto y forzar que IE11 se use en un sitio de intranet cuando se aplica la compatibilidad del "modo Enterprise"? y no se puede deshabilitar a través de la configuración del navegador?
EDITAR
Acabo de intentar agregar un encabezado personalizado en mi web.config como se explica en esta respuesta https://stackoverflow.com/a/18257208/98706
y esto no funcionó para mí, sigo recibiendo el siguiente mensaje en la consola de la barra de herramientas del desarrollador de
HTML1122: Internet Explorer is running in Enterprise Mode emulating IE8.
Es como si la versión 8 se tratara como el edge
cuando esta configuración de compatibilidad de intranet está habilitada en IE11.
Esta publicación: https://www.leapinggorilla.com/Blog/Read/1016/ie-ate-my-css---disabling-compatability-mode explica esto bien, todavía no he intentado configurar este encabezado por código y nuestros usuarios no tienen acceso para cambiar la configuración de su navegador ... ninguno de los otros cambios ha funcionado todavía.
ACTUALIZAR
Consulte mi comentario en esta publicación sobre la diferencia entre el modo Enterprise y el modo de compatibilidad, porque es importante.
Agregue la propiedad siguiente en el archivo web.config para sitios IIS. Esto funcionó para mí en mi intranet en IE11.
<system.webServer>
<httpProtocol>
<customHeaders>
<clear />
<add name="X-UA-Compatible" value="IE=edge" />
</customHeaders>
</httpProtocol>
</system.webServer>
Asegurarse:
<meta http-equiv="X-UA-Compatible" content="IE=edge">
es la primera etiqueta <meta>
en su página, de lo contrario, es posible que IE no la respete.
Alternativamente, el problema puede ser que IE está utilizando Enterprise Mode para este sitio web:
- Su pregunta mencionó que la consola muestra:
HTML1122: Internet Explorer is running in Enterprise Mode emulating IE8.
- Si es así, puede que necesite deshabilitar el modo empresarial (o de esta manera ) o desactivarlo para ese sitio web desde el menú Herramientas en IE.
- Sin embargo, Enterprise Mode debería ser anulado en teoría por la etiqueta X-UA-Compatible, pero IE podría tener un error ...
Este es un viejo problema con buena información. Pero lo que acabo de encontrar es que el uso de un FQDN desactiva el modo Compat en IE 9 - 11. Ejemplo. Tengo el problema de compatibilidad con
http://lrmstst01:8080/JavaWeb/login.do
pero los problemas desaparecen
http://lrmstst01.mydomain.int:8080/JavaWeb/login.do
NB: .int es parte de nuestro dominio interno
Este problema generalmente se debe a que el URL del sitio web / intranet se coloca en uno de los siguientes:
- Lista de modos de compatibilidad
- Zona de Intranet de Internet Explorer
(con los sitios de Display intranet en la configuración de Vista de compatibilidad habilitada) - Lista de modos empresariales
En las redes corporativas, estas configuraciones de vista de compatibilidad a menudo se controlan centralmente a través de la política de grupo . En su caso, Enterprise Mode parece ser el culpable.
Lamentablemente, configurar META X-UA-Compatible
no anulará esto.
Para usuarios finales
A veces, la única forma para que los usuarios finales anulen esto es presionar F12 y cambiar el modo de documento en la pestaña Emulación . Sin embargo, esta configuración no es permanente y puede revertirse una vez que se cierre Developer Tools.
También puede intentar excluir su sitio de la zona de Intranet. Pero la lista de dominios que pertenecen a la zona de Intranet generalmente también está controlada por la política de grupo, por lo que las posibilidades de que esto funcione son escasas.
Para ver la lista de dominios que pertenecen a la zona de Intranet, vaya a:
Herramientas -> Opciones de Internet -> Seguridad -> Sitios -> Avanzado
Si la lista contiene su subdominio y está atenuada, entonces no podrá anular la vista de compatibilidad hasta que el administrador de su red lo permita.
Realmente necesita contactar a su administrador de red para permitir cambiar la configuración de vista de compatibilidad en la política de grupo.
Para administradores de red
Cargar el sitio web con las Herramientas de desarrollador abiertas (F12) a menudo informará la razón por la que IE está cambiando a un modo anterior.
Las 3 configuraciones mencionadas anteriormente generalmente se controlan a través de la Política de grupo, aunque a veces pueden anularse en las máquinas del usuario.
Si el problema es el modo Enterprise (como parece ser el caso del póster original), los siguientes dos artículos podrían ser útiles:
La pregunta es un poco vieja, pero acabo de resolver un problema muy similar. Tenemos varios sitios de intranet aquí, incluido el que soy responsable, y los otros requieren el modo de compatibilidad o se rompen. Por esa razón, el sitio rige el IE predeterminado al modo de compatibilidad en los sitios de la intranet. Estoy actualizando mis propias cosas y ya no las necesito; de hecho, algunas de las características que trato de usar no se ven bien en el modo compat. Estoy usando la etiqueta meta IE-Edge como tú.
IE supone que los sitios web sin la dirección totalmente calificada son intranet y actúa en consecuencia. Con eso en mente, solo modifiqué los enlaces en IIS para solo escuchar la dirección totalmente calificada, luego establecí un sitio web ficticio que escuchaba la dirección no calificada. El segundo redirecciona todo el tráfico a la dirección totalmente calificada, lo que hace que IE crea que es un sitio externo. El sitio se representa correctamente con o sin el modo de compatibilidad en el recuadro Sitios de Intranet marcado.
La respuesta marcada es la correcta. Sin embargo, Pricey, debe hacer un seguimiento de esto con sus grupos de AD y administradores de escritorio. Están haciendo un uso indebido de la lista de sitios de IE11 Enterprise Mode. Microsoft NO pretende que se use para todos los sitios de intranet dentro de una organización. Eso estaría propagando la configuración existente de "renderizar todos los sitios de intranet en modo de compatibilidad" que es la ruina del avance del sitio web corporativo en todo el mundo.
Está destinado a implementarse como una "Lista negra", con el puñado de sitios que realmente requieren un modo de navegador heredado enumerado en la lista del Modo Empresarial con sus requisitos de representación especificados. Todos los demás sitios de su organización se liberan para usar Edge. Las personas de su organización que lo implementaron con todos los sitios de la intranet incluidos desde el principio han entendido por completo cómo debe implementarse Enterprise Mode.
Moverlo a la zona de Sitios de confianza agregándolo a una lista de Sitios de confianza o a una configuración local. Esto lo moverá fuera de la Zona de Intranet y no se representará en Compat. Ver.
Para aquellos que están construyendo un proyecto ASP.NET MVC, asegúrese de agregar lo siguiente:
<meta http-equiv="X-UA-Compatible" content="IE=edge">
etiqueta en su página de diseño (plantilla). Acabo de pasar dos horas depurando y retocando, solo para darme cuenta de que solo había agregado esa metaetiqueta en mis páginas secundarias. Tan pronto como lo agregué a mi página de diseño, el navegador se cargó perfectamente en el modo EDGE.
Resolví este problema al redireccionar al usuario al FQDN del servidor que aloja la intranet.
Es probable que IE use el peor algoritmo del mundo para detectar sitios de "intranet" ... de hecho, la especificación de server.domain.tld me resuelve el problema.
Sí, lo leyó correctamente, IE detecta sitios de intranet no por dirección de IP privada, como haría cualquier desarrollador que haya oído hablar de TCP / IP, no, por la parte de "host" de la URL, si no tiene parte de dominio, debe ser interno.
Es aterrador saber que los desarrolladores de IE no entienden los conceptos más básicos de TCP / IP.
Tenga en cuenta que esto fue para un gran cliente de la empresa, hacer que cambie el GPO por usted es como tratar de mover los Alpes hacia el este por 4 metros, no sucederá.