使用javascript强制IE9进入兼容模式

时间:2012-03-29 17:47:04

标签: javascript internet-explorer-9 ie-compatibility-mode

我有一个需要兼容模式的框架,但是父框架似乎正在设置它,所以框架内的以下标签什么都不做。

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

无论如何将compat模式仅应用于帧,或者让帧将compat模式应用于父帧。

正在考虑是否有一种javascript方法来切换模式我可以将其应用于子框架中的父框架。

2 个答案:

答案 0 :(得分:2)

所以这就是我收集的内容。

唯一可行的是元标记方式。

但是,它似乎不适用于帧,因为IE9禁用了一帧与另一帧不同的能力。

元标记也不能以脚本或链接标记开头,只能在我注意到的其他元标记之前,否则它也会失败。

TEST CASE:

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

答案 1 :(得分:1)

从头顶开始,您可以尝试创建元标记并将其插入父框架头部。我不确定这是否会强制模仿。

var meta = document.createElement('meta');
meta.setAttribute('http-equiv', 'X-UA-Compatible');
meta.setAttribute('content', 'IE=EmulateIE7');

parent.document.getElementsByTagName('head')[0].appendChild(meta);