Переведите IE9 в режим совместимости, используя JavaScript - PullRequest
5 голосов
/ 29 марта 2012

У меня есть фрейм, которому нужен режим совместимости, но родительский фрейм, похоже, устанавливает его, поэтому следующий тег внутри фрейма ничего не делает.или заставьте фрейм применить режим сжатия к родительскому фрейму.

Подумал, есть ли метод javascript для переключения режимов, я мог бы применить его к родительскому фрейму из дочернего фрейма.

Ответы [ 2 ]

2 голосов
/ 11 октября 2012

Итак, вот что я собрал.

Единственное, что, похоже, работает, - это метатег.

Однако он не работает в кадрах, как IE9отключена возможность того, что один фрейм может быть другого типа, чем другой.

Метатегу также не могут предшествовать только теги сценария или ссылки, а также другие метатеги из того, что я заметил, в противном случае произойдет сбойа также.

ДЕЛО ТЕСТА:

<!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 голос
/ 02 апреля 2012

В верхней части моей головы вы можете попытаться создать метатег и вставить его в заголовок родительской рамки.Я не уверен, что если это вызовет эмуляцию.

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

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