Pregunta

Me pregunto cómo puedo evitar que las personas que usan IE 8 pasen al modo de compatibilidad.

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

Encontré esta etiqueta y creo que obliga a las personas a permanecer en el modo IE-8, pero no estoy muy seguro y no puedo comprobarlo porque tengo IE 9.

Si las personas están en el modo IE 9, ¿las obligo a no entrar en el modo de compatibilidad con IE 8 o IE 7?

Intenté poner la línea anterior en mi código y fui a IE 9 -> Herramientas -> Vista de compatibilidad (atenuada)

pero "Configuración de Vista de compatibilidad" no estaba atenuada y parece que puedes agregar el sitio desde allí.

Entonces, ¿eso no debería desactivarse?

¿Fue útil?

Solución

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

Debe obligar a su página a renderizar en los estándares IE8. El usuario puede agregar el sitio a la lista de compatibilidad, pero esta etiqueta tendrá prioridad.

Una forma rápida de verificar sería cargar la página y escribir la siguiente barra de direcciones:

javascript:alert(navigator.userAgent) 

Si ve IE7 en la cadena, se está cargando en modo de compatibilidad, de lo contrario no.

Otros consejos

Todo lo que necesita es forzar a DISHAT CM en IE: solo pegue este código (en IE9 y bajo CM, se deshabilitará):

<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE" />

Fuente: http://twigstechtips.blogspot.com/2010/03/css-ie8-meta-tag-to-disable.html

Esto debería ser suficiente para forzar un IE El usuario debe dejar caer el modo de compatibilidad en cualquier IE versión:

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

Sin embargo, hay un par de advertencias que uno debe tener en cuenta:

  • La metaetiqueta de arriba debe incluirse como la primera etiqueta debajo <head>. Solo el <title> La etiqueta se puede colocar sobre ella.

Si no hace eso, recibirá un error en IE9 Herramientas de desarrollo: X-UA-Compatible META tag ignored because document mode is already finalized.

  • Si desea que este marcado valida, asegúrese de recordar cerrar el meta Etiqueta con un /> en lugar de solo >.

  • Empezando con IE11, El modo Edge es el modo de documento preferido. Para admitir/habilitar eso, use la declaración de tipo de documento HTML5 <!doctype html>.

  • Si necesita admitir WebFonts en IE7, asegúrese de usar <!DOCTYPE html>. Lo he probado y descubrí que la entrega web en WebFonts IE7 se puso bastante poco confiable cuando se usa <!doctype html>.

El uso del marco de Google Chrome es popular, pero desafortunadamente se lanzará en algún momento de este mes, enero de 2014.

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

Información relacionada extensa aquí. El consejo de usarlo como la primera metaetea está en una fuente mencionada anteriormente aquí, que ha sido actualizado.

Si estás usando ASP.NET MVC, encontré Response.AddHeader("X-UA-Compatible", "IE=edge,chrome=1") En un bloque de código en _Layout para funcionar bastante bien:

@Code
    Response.AddHeader("X-UA-Compatible", "IE=edge,chrome=1")
End Code
<!DOCTYPE html>
everything else

La respuesta dada por Felixfett funcionó para mí. Reiterar:

<meta http-equiv="X-UA-Compatible" content="IE=11; IE=10; IE=9; IE=8; IE=7; IE=EDGE" />

Lo tengo como la primera etiqueta 'meta' en mi código. Agregué 10 y 11 ya que esas son versiones que se publican ahora para Internet Explorer.

Hubiera comentado sobre su respuesta, pero no tengo una reputación lo suficientemente alta ...

Otra forma de lograr esto en Apache es colocando las siguientes líneas en .htaccess en la carpeta raíz de su sitio web (o en los archivos de configuración de Apache).

BrowserMatch "MSIE" isIE
BrowserMatch "Trident" isIE
Header set X-UA-Compatible "IE=edge" env=isIE

Esto requiere que tengas el mod_headers y mod_setenvif módulos habilitados.

El encabezado HTTP adicional solo se envía a los navegadores de IE, y ninguno de los otros.

En JSF usé:

<h:head>
    <f:facet name="first">
        <meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
    </f:facet>

    <!-- ... other meta tags ... -->

</h:head>

Agregar una etiqueta a su página no controlará la interfaz de usuario en el Panel de control de Internet (el cuadro de diálogo que aparece cuando selecciona Herramientas -> Opciones).Si está mirando su página de inicio, que podría ser google.com, msn.com, about:blank o example.com, el Panel de control de Internet no tiene forma de saber cuál puede ser el contenido de su página y no descargará eso en segundo plano.

Mira esto este documento en MSDN que discutió el modo de compatibilidad y cómo desactivarlo para su sitio.

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