2012-09-28 9 views
25

Ho una pagina che sta per essere inclusi in un iframe su una pagina in cui usano la seguente:Cercando di utilizzare IE = Edge X-UA-Compatible in un iframe in una pagina utilizzando IE = EmulateIE7

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

e idealmente mi piacerebbe rendere la mia pagina in usando la modalità standard più recente disponibile per il browser che l'utente sta usando. È possibile?

Ho provato tra cui

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

sulla mia pagina, oltre ad alterare il mio webapp per includere la 'X-UA-Compatible' intestazione HTTP con il valore di 'IE = Edge', ma non posso sembra che riesca a fare ciò che voglio.

La cosa strana è, è che se per esempio ho due pagine, la prima contenente l'iframe e l'altro è quello che è visualizzato nel iframe, in questo modo:

<!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> 

e

<!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> 

l'uscita è piuttosto inaspettato

Page document mode: 7 
Iframe document mode: 8 

Qualora sia la modalità manuale 8 provengono da? E come posso rendere il documento iframe in 9 o sopra ??

Sarei eternamente grato se qualcuno può indicarmi la direzione giusta !! grazie, Nick

+1

Ho lo stesso identico problema. Hai trovato una soluzione? –

+0

Purtroppo, non temo – eldoctoro

+0

Solo supposizioni, ma un paio di cose da provare sarebbero 1) impostando IE = 9 invece di edge e/o 2) usando l'intestazione http X-UA-Compatible, piuttosto che il meta tag –

risposta

21

IE non consente di combinare IE9 + e le modalità precedenti in una gerarchia di frame. Se il tuo documento principale è IE7, il massimo che puoi ottenere in qualsiasi documento interno è IE8. Allo stesso modo, non saresti in grado di ospitare nulla tranne i documenti in modalità IE9 all'interno di una pagina in modalità IE9.

+2

Appare però, è possibile mixare le modalità al contrario: la pagina principale in modalità standard, il frame in modalità compatibilità: http://stackoverflow.com/q/18976213/1768303 – Noseratio

+0

È importante considerare la fonte sui problemi che sono facilmente confusi come questo: http://msdn.microsoft.com/en-us/library/jj676915(v=vs.85).aspx – Luke

+2

@Noseratio Ho visto il tuo esempio nella tua altra domanda, e credo che nella tua cornice interiore tu non stia vedendo una vera IE5 \ Quirks mode, ma piuttosto qualcosa chiamato "Almost Standards Mode", che è quasi la stessa cosa degli standard ad eccezione del comportamento della tabella che hai citato. Maggiori informazioni qui: http://msdn.microsoft.com/en-us/library/ff405912(v=vs.85).aspx. È fantastico se funzioni per voi, ma le cose diverse dai tavoli non funzioneranno come ci si aspetterebbe da una modalità legacy pura. –