web-dev-qa-db-ja.com

IE = EmulateIE7を使用して、ページ上のiframeでIE = Edge X-UA-Compatibleを使用しようとしています

以下を使用するページのiframeに含まれるページがあります。

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

理想的には、ユーザーが使用しているブラウザーで使用可能な最新の標準モードを使用してページをレンダリングしたいと思います。これは可能ですか?

含めてみました

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

私のページでは、「IE = Edge」の値を持つ「X-UA-Compatible」HTTPヘッダーを含めるようにwebappを変更しますが、望みどおりに実行することができません。

奇妙なことに、たとえば、2つのページがある場合、最初のページはiframeを含み、もう1つはiframeに表示されるものです。

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

そして

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

出力はかなり予想外です

Page document mode: 7
Iframe document mode: 8

ドキュメントモード8はどこから来たのですか?そして、どうすればiframeドキュメントを9以上にできますか?

誰かが私を正しい方向に向けてくれれば、永遠に感謝します!ありがとう、ニック

27
eldoctoro

IEでは、フレーム階層でIE9 +と古いモードを混在させることはできません。最上位のドキュメントがIE7の場合、すべての内部ドキュメントで取得できる最高のものはIE8です。同様に、IE9モードページ内でIE9モードのドキュメント以外をホストすることはできません。

21
Daniel S.