Я получаю от сервера полного HTML кода различных страниц в виде строки:Установить динамический контент IFrame
$.post($form.attr("action"), $form.serialize(), function(responseText) {
console.log("text received");
//Setting dynamic content to iframe method *
}).error(function(p1, p2, p3){
alert("error!");
console.log(p1 + p2 + p3);
})
;
Настройка динамического контента для метода IFrame 1:
var s = $(responseText);
$('#FileFrame').contents().find('html').html(s);
Настройка динамического содержимого метода IFrame 2:
var $frame = $('#FileFrame');
var doc = $frame[0].contentWindow.document;
var $body = $('body',doc);
$body.html(responseText);
Настройка динамического содержимого метода IFrame 3:
var iframe = document.getElementById('FileFrame');
var iframedoc = iframe.document;
if (iframe.contentDocument)
{ iframedoc = iframe.contentDocument;
console.log("iframe has contentDocument");
}
else if (iframe.contentWindow)
{
iframedoc = iframe.contentWindow.document;
console.log("iframe has contentWindow.document");
}
if (iframedoc) {
//iframedoc.open();
iframedoc.write(responseText);
iframedoc.close();
console.log("iframedoc is not NULL");
} else {
alert('Cannot inject dynamic contents into iframe.');
}
проблема в том, что некоторые страницы хорошо отображают метод 1, некоторые с методом 2 и некоторые со мной thod 3, но любой из них не подходит ко всем веб-страницам. Пожалуйста, помогите
Я думаю, что этот пример будет делать работу [example1] (http://stackoverflow.com/a/620905) Попробуйте выполнить uncoment //iframedoc.open(); в третьем методе. Кажется, что третий метод является оптимальным –