2011-12-28 15 views
8

que por alguna razón estoy llamando a un tipo de documento preferentemente XHTML 1.0 Transicional, y por alguna razón cada vez que lo abra en Internet Explorer consigo ...Deshabilitar la vista de compatibilidad a través del código en IE?

de navegador de modo: Modo de vista IE9 Compat
documento: Normas de IE7

incluso me incluyo lo que mi tipo de documento parece que con el inicio de mis etiquetas de la cabeza:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 

y sí, lo hago cerca <body> y <html>.

¿Alguna idea?

+2

¿Ha comprobado que el marcado sí se ajusta con un validador? –

+1

Eche un vistazo a este [artículo de Wikipedia] (http://en.wikipedia.org/wiki/XHTML#Backward_compatibility). Creo que esta es la forma correcta de hacerlo. ¿Su elemento 'html' se parece al primer ejemplo? – FakeRainBrigand

+1

@JaredFarrish, buena idea. Este es [el validador del W3C] (http://validator.w3.org/). Sin embargo, eso no significa que la EM se conforme. Pega toda tu página en la entrada directa, o dale un enlace. – FakeRainBrigand

Respuesta

23

Aquí está la documentación que buscas: http://msdn.microsoft.com/en-us/library/cc288325(v=vs.85).aspx

Incluir este y el IE hará que al igual que en el modo de IE9:

<meta http-equiv="X-UA-Compatible" content="IE=9" /> 
+11

mejor aún es IE = Edge, esto asegurará que se muestre en el modo más compatible con las normas en futuras versiones. –

+0

@Sologoub: Impresionante, esto es lo que quiero hacer, pero ¿cómo sé si la página web se ve en Internet Explorer 7 y se verá en los estándares de Internet Explorer 7? Lo mismo con Internet Explorer 8? E incluso versiones posteriores de Internet Explorer? ¡Gracias! :) –

+2

@AaronBrewer - si usa el IE = Edge que mencioné, ese será el caso. –

9

Por defecto, es decir representará en modo de compatibilidad para los sitios web en el mismo subred como el cliente. Puede solucionar esto desactivando esta función en IE yendo a Herramientas-> Configuración de Vista de Compatibilidad y desmarcando los sitios de Mostrar Intranet en modo de compatibilidad, o incluyendo la metaetiqueta que mencionó Sologoub.

+0

Gracias, pero estoy buscando una solución basada en código. –

+1

@AaronBrewer: aparentemente no leyó la última parte de mi mensaje, que sugería usar la metaetiqueta. –

+0

Disculpe, no comprendí su respuesta lo suficientemente bien. ¡Muchas gracias por la ayuda! –

9

Tengo este issure también. Y he encontrado una solución:

inserción de etiquetas meta en HTML cabecera:

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

y establecer la cabecera equivalant:

cabecera ('X-UA-Compatible: IE = Edge') ;

O si utiliza Zend Framework (o cualquier marco para el caso), algo como esto hará Zend_Controller_Front :: getInstance() -> getResponse() -> setHeader ('X-UA-Compatible', 'IE = Edge ');

solución en este enlace:

http://www.enrise.com/2012/03/internet-explorer-9-compatibility-view-list/

Gracias.

2

A veces tiene que ser un poco más completo para que apunte a todas las anulaciones de usuario posibles. Sin duda, para aplicaciones de una sola página como Meteor:

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

Espero que esto ayude.

+0

Qué bueno saber quién usted especifica múltiples versiones. – radbyx

Cuestiones relacionadas