互換モードが必要なフレームがありますが、親フレームがそれを設定しているように見えるため、フレーム内の次のタグは何もしません。
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
とにかく、フレームのみに互換モードを適用するか、フレームに互換モードを親フレームに適用させる必要がありますか。
モードを切り替えるJavaScriptメソッドがあれば、子フレームから親フレームに適用できると考えていました。
互換モードが必要なフレームがありますが、親フレームがそれを設定しているように見えるため、フレーム内の次のタグは何もしません。
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
とにかく、フレームのみに互換モードを適用するか、フレームに互換モードを親フレームに適用させる必要がありますか。
モードを切り替えるJavaScriptメソッドがあれば、子フレームから親フレームに適用できると考えていました。
だからここに私が集めたものがあります。
うまくいくように見える唯一のものは、メタタグの方法です。
ただし、IE9 では 1 つのフレームを別のフレームとは異なるタイプにする機能が無効になっているため、フレームでは機能しないようです。
また、メタ タグの前にスクリプト タグやリンク タグを配置することはできません。また、私が気付いた他のメタ タグのみを配置することもできません。それ以外の場合は同様に失敗します。
テストケース:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Test test</title>
<meta name="keywords" content="keywords, keyword, keyword phrase, etc.">
<!--<link href="test.css" rel="stylesheet" type="text/css" />-->
<!--<script type="text/javascript">alert('test');</script>-->
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
</head>
<body>
inline-block <div style="display:inline-block">test</div>
</body>
</html>
頭のてっぺんからメタタグを作成して、親フレームの頭に挿入してみてください。それがエミュレーションを強制するかどうかはわかりませんが。
var meta = document.createElement('meta');
meta.setAttribute('http-equiv', 'X-UA-Compatible');
meta.setAttribute('content', 'IE=EmulateIE7');
parent.document.getElementsByTagName('head')[0].appendChild(meta);