Подтвердить что ты не робот

Заставить IE9 в режим Quirks?

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

Я надеялся, что это ошибка в IE9, но мой билет был отклонен как "по дизайну" (вот билет, если вы забота о том, чтобы выглядеть)

Я не могу запустить весь сайт в режиме quirks, но мне нужно, чтобы это произошло только на этой странице. Есть ли способ программно включить рендеринг режима quirks? Либо это, либо способ эмулировать нажатие кнопки "Совлокальный просмотр" - нажатие на нее в значительной степени превращает IE9 в IE8, что также отлично работает.

Можно ли сделать одну из этих вещей?

4b9b3361

Ответ 1

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

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

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

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

Есть ли дополнительная информация об этом в Будет ли iframe рендерить в режиме quirks?, в котором задается более общий вопрос об iframes и doctypes в ie.

Ответ 3

Вы должны иметь разные режимы совместимости между 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

НТН.