Как указать QuirksMode для doctype в iframe в IE 9?

Вопрос:

У нас есть портал, где doctype совместим с xhtml 1.0. Затем на портале у нас есть контент iframe, куда мы встраиваем различные веб-приложения. Некоторые из этих заявлений были написаны нами, некоторые сторонними.

Теперь в этот iframe мы встраиваем, среди прочего, отчеты Microsoft Reporting Service. Проблема в том, что службы отчетов Reporting Services требуют QuirksMode для отображения "правильно". И портал не работает в QuirksMode (на мой взгляд, это нормально, так как мы нацелены только на 9 и, возможно, на IE8). Портал также не очень хорошо отображается в IE7, и мы собираемся отказаться от поддержки IE8 как можно скорее.

Однако IE9, похоже, наследует режим документа от родительской страницы, поэтому отчеты службы отчетов отображаются в стандартном режиме IE9, а не в режиме причуд. Таким образом, все отчеты отображаются неправильно (и я не имею в виду немного, это действительно серьезно, совершенно неправильно, абсолютно ужасно)

Проблема в том, что мы не можем изменить службу отчетов...
Невозможно заставить службу отчетов (любой версии) отображать HTML не в модном режиме.

Как будет отображаться iframe в режиме причуд? я мог бы добавить

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

Чтобы получить iframe для рендеринга в QuirksMode. (редактировать: даже не работает, когда мне все равно, как портал рендерит и все равно его помещаю)

К сожалению, портал, как сказано, не совместим с IE7, так что это не вариант.
Кроме того, отчеты SSRS выполняются в другом домене, чем портал, поэтому я не могу использовать JavaScript/jQuery в любом случае.

Есть ли способ сделать iframe рендеринга в QuirksMode, не разрушая макет родительской страницы?
Или (уже существующий) способ заставить службу отчетов отображать корректный HTML (у меня, конечно, нет времени написать собственное расширение для отображения HTML)?

2 ответа

Решение

Через MSDN:

Хотя более новый механизм рендеринга используется только тогда, когда Windows® Internet Explorer® обнаруживает, что HTML-страница запросила самый высокий уровень поддержки стандартов, это не всегда верно для дочерних страниц, которые могут быть загружены в элементы frame и iframe. Поскольку одновременно может быть активен только один движок рендеринга, режим IE9 также включает эмуляцию для режима Quirks.

Извините, но то, что вы хотите сделать, невозможно достичь в IE9.

Некромантия по 2016 году.

Если у вас есть такая же проблема (с SSRS):
Служба отчетов SQL Server 2016 CTP 3.3 (портал предварительного просмотра) предоставляет HTML-код, соответствующий стандартам.

Другие вопросы по тегам