Может ли содержимое iframe отображаться в стандартном режиме, когда родительский элемент отображается в режиме Quirks?

У меня есть html-страница, которая отображает html-страницу в iframe, где моя страница добавляет верхнюю панель ко всему содержимому. Чтобы сделать всю страницу безупречной, мне пришлось полагаться на рендеринг страницы в режиме причудливого режима, чтобы отобразить следующее: (аналогично тому, как страница результатов изображения Google (страница, которую вы получаете при нажатии на изображение с верхней рамкой) -

<table>
    <tbody>
        <tr>
            <td>
               <!-- Top bar content -->
           </td>
       </tr>
       <tr>
            <td>
                <iframe src="http://anysite.com/"/>
            </td>
       </tr>
    </tbody>
</table>

Проблема здесь в том, что есть страницы, которые не отображаются должным образом в режиме причуд. Поэтому они не выходят должным образом в iframe. Как я это преодолею? Могу ли я отображать только iframe в стандартном режиме, в то время как вся страница отображается в необычном режиме (который я не могу поставить под угрозу).

Есть ли альтернативное решение?


person Ajay    schedule 25.02.2010    source источник


Ответы (2)


Отложенный ответ... но если вы используете тег объекта вместо тега iframe, в IE он изменит режим рендеринга.

<html>
<head>
    <title>Quirks mode + iframe test</title>
</head>
<body>
    <object type="text/html" data="http://stevesspace.com/test/quirks/modern.html" style="width: 300px; height: 500px;"></object>
</body>
</html>

К сожалению, в IE10 это не работает, если внешняя страница отображается в режиме IE8 с использованием

<META http-equiv=X-UA-Compatible content=IE=8>

Которому я все еще ищу решение...

См. также iframe не отображается в ie9, когда содержащая страница находится в специальном режиме

person XwipeoutX    schedule 27.05.2013
comment
Я пытался использовать OBJECT с противоположным случаем: на родительской странице включен режим IE=10, а страница в IFRAME пыталась использовать режим IE=8. Кажется, ничего не работает: дочерняя страница всегда имеет тот же режим, что и родительская страница. - person digitalfootmark; 20.10.2014
comment
Какую версию IE вы используете? исправление ‹object› не работает для IE10 (который, как я полагаю, вы используете). Я до сих пор не нашел решения этой проблемы — в итоге нам пришлось написать отдельную страницу для встраивания полностью для IE8. - person XwipeoutX; 21.10.2014

Согласно этой статье (http://css-tricks.com/ie-iframe-quirksmode/), страница в iframe, родительская страница которой находится в режиме совместимости, также будет отображаться в режиме совместимости.

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

person jcairney    schedule 14.06.2012
comment
В статье на css-tricks.com предлагается трюк, позволяющий корректно отображать дочернюю страницу в том же режиме, что и родительская страница, то есть в режиме Quirks. На самом деле это не отвечает на вопрос, который задавался для отображения страницы в стандартном режиме. Замена тега IFRAME кадром OBJECT является более подходящим ответом. - person Julien Kronegg; 22.01.2014