尝试使用IE = EmulateIE7在页面上的iframe中使用IE = edge X-UA-Compatible

时间:2012-09-28 14:00:30

标签: internet-explorer iframe mode quirks-mode

我有一个页面将包含在页面上的iframe中,他们使用以下内容:

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

理想情况下,我想使用用户正在使用的浏览器可用的最新标准模式来呈现我的页面。这可能吗?

我试过包括

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

在我的页面上,以及更改我的webapp以包含'X-UA-Compatible'HTTP标头,其值为'IE = edge',但我似乎无法让它做我想要的。< / p>

奇怪的是,如果我有两个页面,第一个包含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>

输出是意料之外的

Page document mode: 7
Iframe document mode: 8

文档模式8来自哪里?如何将iframe文档设置为9或以上?

如果有人能指出我正确的方向,我将永远感激不尽! 谢谢, 尼克

1 个答案:

答案 0 :(得分:21)

IE不允许在帧层次结构中混合IE9 +和旧模式。如果您的顶级文档是IE7,那么任何内部文档中可以获得的最高级别是IE8。同样,除IE9模式页面内的IE9模式文档外,您将无法托管任何内容。