2012-09-28 24 views
25

Tengo una página que va a ser incluido en un iframe en una página donde se utilizan los siguientes:Tratar de utilizar IE = orilla X-UA-Compatible en un iframe en una página usando IE = EmulateIE7

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

y, idealmente, me gustaría hacer que mi página utilice el último modo de estándares disponible para el navegador que está utilizando el usuario. es posible?

He intentado incluyendo

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

en mi página, así como la alteración de mi aplicación web para incluir la cabecera HTTP 'X-UA-Compatible' con un valor de 'IE = orilla', pero no puedo Parece que lo hace para hacer lo que yo quiero.

Lo curioso es, es que si, por ejemplo, tengo dos páginas, la primera que contienen el marco flotante y el otro es lo que se muestra en el iframe, así:

<!doctype html> 
<html> 
<head> 
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/> 
    <script> 
     console.log("Page document mode: "+document.documentMode); 
    </script> 
</head> 
<body> 
<iframe src="iframepage.html" /> 
</body> 
</html> 

y

<!doctype html> 
<html> 
<head> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <script> 
     console.log("Iframe document mode: "+document.documentMode); 
    </script> 
</head> 
<body> 
</body> 
</html> 

la salida es la más inesperada

Page document mode: 7 
Iframe document mode: 8 

Cuando el modo de documentos 8 ha salido? ¿Y cómo hago el documento iframe en 9 o superior?

Estaría eternamente agradecido si alguien puede señalarme en la dirección correcta !! gracias, Nick

+1

Tengo exactamente el mismo problema. Encontraste una solución ? –

+0

Desafortunadamente, me temo que no – eldoctoro

+0

Solo conjeturas, pero un par de cosas para probar sería 1) configurar IE = 9 en lugar de borde, y/o 2) usando el encabezado http compatible con X-UA, en lugar de la metaetiqueta –

Respuesta

21

IE no permite mezclar IE9 + y modos anteriores en una jerarquía de cuadros. Si su documento principal es IE7, lo máximo que puede obtener en cualquier documento interno es IE8. Del mismo modo, no sería capaz de alojar nada más que documentos de modo IE9 dentro de una página de modo IE9.

+2

Parece, sin embargo, que es posible mezclar modos al revés: la página principal en modo estándar, el cuadro en modo de compatibilidad: http://stackoverflow.com/q/18976213/1768303 – Noseratio

+0

Es importante considerar la fuente en los problemas que son fácilmente confusos como este: http://msdn.microsoft.com/en-us/library/jj676915(v=vs.85).aspx – Luke

+2

@Noseratio He visto su ejemplo en su otra pregunta, y creo en tu marco interno que no estás viendo un verdadero modo IE5 \ Quirks, sino más bien algo llamado "Almost Standards Mode", que es casi lo mismo que los estándares, excepto por el comportamiento de la tabla que mencionas. Más información aquí: http://msdn.microsoft.com/en-us/library/ff405912(v=vs.85).aspx. Es genial si esto funciona para usted, pero las cosas que no sean tablas no funcionarán como se esperaría de un modo heredado puro. –