web-dev-qa-db-fra.com

Essayer d'utiliser IE = Edge X-UA-Compatible dans un iframe sur une page en utilisant IE = EmulateIE7

J'ai une page qui va être incluse dans un iframe sur une page où ils utilisent ce qui suit:

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

et idéalement, j'aimerais rendre ma page en utilisant le dernier mode standard disponible pour le navigateur que l'utilisateur utilise. Est-ce possible?

J'ai essayé d'inclure

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

sur ma page, ainsi que la modification de ma webapp pour inclure l'en-tête HTTP 'X-UA-Compatible' avec la valeur de 'IE = Edge', mais je n'arrive pas à le faire faire ce que je veux.

La chose étrange est que si, par exemple, j'ai deux pages, la première contenant l'iframe et l'autre étant ce qui est affiché dans l'iframe, comme ceci:

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

et

<!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 sortie est plutôt inattendue

Page document mode: 7
Iframe document mode: 8

D'où vient le mode document 8? Et comment puis-je transformer le document iframe en 9 ou plus ??

Je serais éternellement reconnaissant si quelqu'un pouvait me diriger dans la bonne direction !! merci Nick

27
eldoctoro

IE ne permet pas de mélanger IE9 + et les modes plus anciens dans une hiérarchie de trames. Si votre document supérieur est IE7, le plus élevé que vous pouvez obtenir dans n'importe quel document interne est IE8. De même, vous ne pourriez pas héberger autre chose que des documents en mode IE9 dans une page de mode IE9.

21
Daniel S.