2013-12-08 5 views
0

У меня есть iframe без атрибута src. Я установил его с HTML со стороны JavaScript.Как избежать iframe без src, чтобы прочитать его родительский HTML?

Проблема в том, что если я загружаю скрипт, содержащий $("body").html(), он возвращает html body родительского документа, в то время как я ожидаю получить html тела iframe.

Как я могу избежать такого поведения?

Я установил iframe HTML с помощью:

$(".myResult").contents().find("html").html(myHtmlToLoad); 

Вот является JSFIDDLE где я воспроизвел этот вопрос. Я ожидаю, что значение textarea вернет вызов $(body).html() (внутри iframe), но возвращает HTML всей страницы (содержащей iframe).

+0

любая конкретная причина, она должна быть iframe? Кажется, должны быть лучшие альтернативы, если вы явно контролируете содержимое. –

+0

@Tim Я хотел бы быть отдельным документом. –

+0

Это для созданного пользователем контента, или что-то в этом роде? –

ответ

4
var ifrm = $(".result:first")[0]; 
ifrm.contentDocument.body.textContent = ""; 
var htmlDocumentStr = $(".html").val(); 
ifrm.contentDocument.write(htmlDocumentStr); 
3

Если я понял ваш вопрос, вы хотите получить html iframe. Вы искали это?

var $iframe = $(".myResult"); 
console.log($('body', $iframe.contents()); 

Вы также можете получить ссылку на DOM в Iframe с myIframe.contentDocument

+0

Нет, я хочу получить HTML-код iframe, но из iframe. –

+0

@ イ オ ニ カ ビ ザ ウ э-э ... что? – m59

+1

iframe загружает HTML-код (который может содержать тег '

Смежные вопросы