59

¿Hay alguna manera de forzar IE8 al modo de compatibilidad IE7 utilizando .NET o Javascript?Forzar IE8 en modo de compatibilidad IE7

+1

Además, ¿puedo lograr esto usando la configuración de IIS? – Bryan

+10

Supongo que podría ver el valor en esto para las páginas antiguas, pero POR FAVOR no cree páginas nuevas que dependan de IE7 ... deje que la bestia muera. –

+0

IE8 tiene errores que IE7 no tiene y que desaparecen cuando se cambia al modo de compatibilidad: http://stackoverflow.com/questions/1070178/why-does-ie8-add-bottom-border-on-my-image- anchor-tag Mi sitio se ve afectado por ese error, y prefiero decirle a IE8 que lo muestre correctamente como IE7 y todos los demás navegadores agregando una línea a mi archivo .htaccess, que agregar una solución alternativa específica del navegador a mi páginas reales –

Respuesta

85

Si se agrega esto a su meta tags:

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

IE8 hará que la página como IE7.

+22

Tiene razón, pero intente agregarlo inmediatamente después de la etiqueta de apertura . Tuve problemas cuando estaba más abajo en la página. –

+1

¿Qué pasa si no agrego esta línea a cada página aspx de mi sitio? ¿Puedo hacerlo con IIS? – Bryan

+5

@Bryan: No. Es por eso que usamos páginas maestras. – NotMe

5

es incluso más simple que eso. El uso de HTML que sólo puede agregar esta metaetiqueta a la página (a primera hora de la página):

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

Si quisiera hacerlo using.net, sólo tiene que enviar su solicitud HTTP con esa meta información en el encabezamiento. Sin embargo, esto requeriría una actualización de página para funcionar.

Además, se puede ver en una pregunta similar aquí: Compatibility Mode in IE8 using VBScript

11

Hay an HTTP header puede establecer que obligará a IE8 para utilizar el modo IE7-compatibilidad.

+1

No pude conseguir que funcione la metaetiqueta, pero agregar este encabezado hizo el trabajo. ¡Gracias! – swatkins

1

una nota en este:

IE 8.0s emulación sólo promete para mostrar la página de la misma. Existen diferencias sutiles que pueden causar la ruptura de la funcionalidad. Recientemente tuve un problema con eso. Donde IE 7.0 usa una función de envoltura de javascript llamada "anonymous()" en IE 8.0, el contenedor recibió un nombre diferente.

Así que no espere que cosas como JavaScript "simplemente funcionen", porque activa la emulación.

+5

Escribir código que depende del "nombre" de una función anónima no es una dependencia confiable para tomar, independientemente de la versión del navegador. – EricLaw

5

uno más si desea cambiar el IE 8 página render en IE 8 modo estándar

<meta http-equiv="X-UA-Compatible" content="IE=100" /> <!-- IE8 mode --> 
30

Puede hacerlo en el web.config

<httpProtocol> 
     <customHeaders> 
      <add name="X-UA-Compatible" value="IE=7"/> 
     </customHeaders> 
    </httpProtocol> 

tengo mejores resultados con esto una las soluciones anteriores. No estoy seguro de por qué esto no se dio como una solución. :)

+0

+1 Buena solución, si está utilizando IIS7 - http://www.iis.net/ConfigReference/system.webServer/httpProtocol –

+0

Gran solución cuando no puede cambiar el contenido de la página o cambiar los encabezados de página directamente . –

+0

Creo que los encabezados HTTP anulan cualquier metaetiqueta, por lo que deberían ser la solución preferida si tiene la opción. – Matthew

0

mi código tiene esta etiqueta

meta http-equiv = contenido de "X-UA-Compatible" = "IE = 7" />

hay una manera donde puedo omitir esta etiqueta y sin embargo los diseños se muestran bien y bien usando esa etiqueta la pantalla funcionará hasta IE 7 pero quiero ejecutarlo bien en otras versiones ...

Cuestiones relacionadas