Internet Explorer 8 обрезает содержимое iframe - PullRequest
2 голосов
/ 28 января 2011

демо здесь
(не может воспроизвести его на jsfiddle, так как они не допускают ajax в достаточной степени)

Представьте себе,у вас есть iframe на вашей странице

<iframe id="if1" src="/some/url">  </iframe>

/some/url возвращает простой текст: <form>text</form><br/>

А также, после загрузки iframe вы получаете доступ к его содержимому из Javascript.

var io = document.getElementById('if1');
alert(io.contentWindow.document.body.innerHTML);

Обычные браузеры, очевидно, возвращают контент в точности так, как он есть.Но Internet Explorer 8 возвращает что-то смешное

text</FORM><BR>

Несмотря на то, что щелчок правой кнопкой мыши / просмотр источника в iframe показывает правильное содержимое: <form>text</form><br/>

Я не пробовал другие версии IE.

Вы видели эту проблему раньше?Это очень упрощенная версия проблемы, с которой я столкнулся при адаптации веб-приложения к IE.По сути, я делаю ajax-запросы через iframe (не xhr, мне нужно загружать файлы) и возвращаются фрагменты html.
Большое спасибо!

Ответы [ 2 ]

3 голосов
/ 31 января 2011

Добавление body вокруг ответа сработало, забавно, я не сразу об этом подумал.

И самое главное, нет необходимости менять интерфейс: document.body.innerHTML вернет контент без body тег (естественно).

0 голосов
/ 28 января 2011

Вы пытались использовать jQuery, чтобы увидеть, если это лучше?

alert($('#if1').html());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...