2012-09-28 7 views
25

を使用して、ページ上のiframe内に、私は、彼らが次のように使用ページ上のiframe内に含まれることになるだろうページがあります。IE =エッジX-UA-の互換性を利用しようとするとIE = EmulateIE7

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

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

Iは

<meta http-equiv="X-UA-Compatible" content="IE=edge"/> 
マイページ上の

、ならびに「IE =縁」の値に「X-UA-互換」HTTPヘッダを含むように私のWebアプリケーションを変更することを含む試みたが、私はできそれが私の望むことをするように思える。

奇妙なことは、あり、例えば、私は2つのページを持っている場合ということである第一そうのように、iframe内に表示される内容であることは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> 

出力はかなり予想外のドキュメントモード8から来た

Page document mode: 7 
Iframe document mode: 8 

?そしてiframeドキュメントを9以上にするにはどうすればいいですか?

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

+1

私は全く同じ問題があります。あなたは解決策を見つけましたか? –

+0

残念ながら、私は恐れていません – eldoctoro

+0

ちょっと推測しますが、試してみるべきことは1)エッジではなくIE = 9を設定する、2)メタタグではなくX-UA互換のhttpヘッダーを使用する2) –

答えて

21

IEではフレーム階層内でIE9以上のモードを混在させることはできません。あなたの一番上の文書がIE7の場合は、内部文書に入ることができる最高のものはIE8です。同様に、IE9モードのページ内にIE9モードのドキュメント以外のものをホストすることはできません。

+2

標準モードのメインページ、互換モードのフレーム:http://stackoverflow.com/q/18976213/1768303 – Noseratio

+0

問題の原因を検討することは重要です http://msdn.microsoft.com/en-us/library/jj676915(v=vs.85).aspx – Luke

+2

@Noseratio私はあなたの他の質問であなたの例を見てきましたが、 IE5 \ Quirksの真のモードではなく、 "ほぼ標準モード"と呼ばれる内部フレームを信じています。これは、あなたが言及しているテーブルの動作以外の標準とほとんど同じです。詳細はこちら:http://msdn.microsoft.com/en-us/library/ff405912(v=vs.85).aspx これはうまくいきますが、テーブル以外のものは純粋なレガシーモードでは期待しないように機能しません。 –

関連する問題