Estoy trabajando para un cliente que fuerza el modo de compatibilidad en todos los sitios de intranet. Me preguntaba si hay una etiqueta que pueda poner en mi HTML que desactive el modo de compatibilidad.
html
internet-explorer
Al Katawazi
fuente
fuente
Respuestas:
Existe el modo "borde" .
Desde la página de MSDN vinculada:
Sin embargo, el modo "borde" no se recomienda en el uso de producción:
Sinceramente, no entiendo completamente por qué. Pero de acuerdo con esto, la mejor manera de hacerlo en este momento es usar
IE=8
.fuente
IE=10
en sus propios sitios. Si ha probado su sitio en IE10 (versión de vista previa), es seguro usarlo; de lo contrario, es posible que desee seguirIE=9
por ahora.Tools->Compatibility View Settings
, y marcando Mostrar todos los sitios web en la Vista de compatibilidad. Para solucionar el problema, tengo que devolver el encabezado en la respuesta HTTP:X-UA-Compatible: IE=edge
Después de muchas horas para solucionar este problema ... Aquí hay algunos aspectos destacados que nos ayudaron desde los
X-UA-Compatible
documentos: http://msdn.microsoft.com/en-us/library/cc288325(VS.85).aspx#ctl00_contentContainer_ctl16Utilizando
<meta http-equiv="X-UA-Compatible" content=" _______ " />
Los modos del Agente de usuario estándar (los no emulados) ignoran las
<!DOCTYPE>
directivas en su página y se procesan según los estándares admitidos por esa versión de IE (por ejemplo,IE=8
obedecerán mejor el espaciado de borde de la tabla y algunos pseudo-selectores queIE=7
).Mientras que los modos de emulación le dicen a IE que siga las
<!DOCTYPE>
directivas en su página, representando el modo estándar basado en la versión que elija y el modo peculiar basado enIE=5
Los valores posibles para el
content
atributo son:content="IE=5"
content="IE=7"
content="IE=EmulateIE7"
content="IE=8"
content="IE=EmulateIE8"
content="IE=9"
content="IE=EmulateIE9"
content="IE=edge"
fuente
Si está trabajando con una página en la Zona de Intranet, es posible que IE9, sin importar lo que haga, vaya al modo Compat de IE7.
Esto se debe a la configuración dentro de la configuración de compatibilidad de IE que dice que todos los sitios de Intranet deben ejecutarse en modo de compatibilidad. Puede desmarcar esto mediante una política de grupo (o simplemente desmarcándolo en IE), o puede configurar lo siguiente:
Esto funciona (como se detalla en otras respuestas), pero puede que inicialmente no lo parezca: debe aparecer antes de que se declaren las hojas de estilo . Si no lo hace, se ignora.
fuente
Creo que esto hará el truco:
fuente
Como se sugiere en esta respuesta a una pregunta relacionada, el modo "borde" se puede configurar en el archivo Web.Config. Esto hará que se aplique a todo el HTML devuelto por la aplicación sin la necesidad de insertarlo en páginas individuales:
Este mismo paso también se puede lograr modificando los "Encabezados de respuesta HTTP" utilizando el Administrador IIS para el servidor IIS, el sitio web completo o aplicaciones específicas.
fuente
La solución de metaetiquetas no funcionaba para nosotros, pero configurarla en el encabezado de respuesta sí:
fuente
chrome=1
propiedad, stackoverflow.com/a/22059516/368691 . Tenga en cuenta que Chrome Frame ha sido retirado. blog.chromium.org/2013/06/retiring-chrome-frame.htmlSolo unas pocas notas más sobre este tema basadas en mis experiencias recientes. La universidad en la que trabajo tiene problemas con las computadoras portátiles con IE 8 en modo de compatibilidad para todos los sitios de intranet. Intenté agregar la metaetiqueta para deshabilitar este modo para las páginas que mi sitio ofrece, pero IE siempre ignoró esta etiqueta. Como Lance mencionó en su publicación, agregar un encabezado de respuesta solucionó este problema. Así es como configuro el encabezado basado en el método repetitivo HTML5:
Para que este encabezado se envíe realmente, debe asegurarse de tener mod_headers activados en Apache. Si quieres asegurarte de tener este mod activado, ponlo en una página que pueda ejecutar php:
fuente
IE8 adopta por defecto el modo estándar para IntERnet y el modo peculiar para IntRAnet. La metaetiqueta HTML se ignora si tiene el doctype establecido en xhtml de transición. La solución es agregar un encabezado HTTP en el código. Esto funcionó para nosotros. Ahora nuestro sitio de intranet está obligando a IE8 a representar la aplicación en modo estándar.
Agregado a PageInit de la clase de página base (ASP.net C #):
referencia: http://ilia.ws/archives/196-IE8-X-UA-Compatible-Rant.html
fuente
Esto se debe a la configuración dentro de la configuración de compatibilidad de IE que dice que todos los sitios de Intranet deben ejecutarse en modo de compatibilidad. Puede desmarcar esto mediante una política de grupo (o simplemente desmarcándolo en IE), o puede configurar lo siguiente:
Aparentemente, no es posible cambiar la configuración de la vista de compatibilidad como una política de grupo, pero es algo que quizás se pueda cambiar en el registro, esta metaetiqueta funciona bien para mí, tuve que hacer que el atributo requerido funcione como parte de un formulario html , funcionó en Chrome y Firefox pero no en IE.
Aquí hay una buena imagen de lo que los navegadores admiten cada elemento html 5 individual.
http://html5readiness.com/
Observe el denominador común Google Chrome, es compatible con todo. Espero que esto sea de ayuda
fuente
Insertar como el primer elemento debajo de la etiqueta.
Esto obliga a IE a representar la página en la versión física de IE, e ignora la "Configuración de modo" del navegador. Esto se puede configurar en las herramientas de desarrollador, intente cambiarlo a una versión anterior de IE para probar, esto debe ignorarse y la página debe verse exactamente igual.
fuente
Si tiene acceso al servidor, la forma más confiable de hacerlo es hacerlo en el propio servidor, en IIS. Vaya a Encabezados de respuesta HTTP de IIS. Agregue nombre: X-UA-Compatible
Valor: IE = edge Esto anulará su navegador y su código.
fuente
Si desea que cada página web individual cargue el contenido elegido y está utilizando asp.net. Simplemente aplíquelo como la primera etiqueta debajo de la etiqueta de encabezado en Vistas> compartido> Layout.cshtml
solo un consejo
fuente