Перевести IE9 в режим Quirks? - PullRequest
19 голосов
/ 26 февраля 2011

У меня есть страница с iframe, и iframe содержит код, который должен работать в режиме причуд (это Outlook Web Access от Microsoft, так что мы не можем исправить наш код). В IE9 появилась «особенность», заключающаяся в том, что когда родительский фрейм находится в режиме документа IE9, он также переводит любые фреймы в один и тот же режим документа. Это нарушает код, который у нас есть iframe.

Я надеялся, что это ошибка в IE9, но мой билет был отклонен как «намеренно» ( вот билет , если хотите посмотреть)

Я не могу запустить весь сайт в режиме причуд, но мне нужно, чтобы это происходило только на этой странице. Есть ли способ программно включить рендеринг в режиме причуд? Или это, или способ эмулировать нажатие кнопки «Просмотр совместимости» - нажатие этой кнопки в значительной степени превращает IE9 в IE8, который также прекрасно работает.

Возможно ли сделать что-то из этого?

Ответы [ 3 ]

10 голосов
/ 04 января 2012

У меня была та же проблема, и я довольно широко исследовал ее в апреле 2011 года. На тот момент единственный способ иметь документ верхнего уровня в «режиме стандартов» и документ в дочернем iframe в «режиме причуд»IE9 должен был использовать метатег, чтобы браузер вел себя так, как будто это IE8.(Насколько я знаю, это все еще так, и Microsoft не собирается менять его.) Существует множество мета-тегов, которые вы можете использовать для изменения режима браузера, но один из них, который я использовал, работал:

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

Если вы включите этот метатег, все документы должны быть правильно отображены (согласно правилам IE8) в соответствии с их типом документа.

Обратите внимание, однако, что это не позволяет использовать любые из недавно поддерживаемых функций CSS в IE9, даже в документе верхнего уровня.Вы не сможете использовать border-radius, box-shadow, opacity и т. Д.задает более общий вопрос о iframes и doctypes в ie.

5 голосов
/ 25 марта 2011

Кстати, режим причуд для контента, встроенного в iframe, не совсем совпадает с обычным режимом причуд.Смотрите это: http://msdn.microsoft.com/en-us/library/gg558056(v=VS.85).aspx

0 голосов
/ 26 февраля 2011

У вас должны быть разные режимы сжатия между IFrame и хостом - см .: http://blogs.msdn.com/b/cjacks/archive/2010/12/01/does-a-standards-web-page-inside-of-an-iframe-in-a-quirks-web-page-render-in-standards-or-quirks.aspx

С помощью тега X-UA-Compatible вы можете указать режим сжатия, который вам нужен, даже больше, чем вы можете с помощью кнопки: http://msdn.microsoft.com/en-us/library/cc288325(VS.85).aspx

НТН.

...