Как вставить HTML в iframe - PullRequest
4 голосов
/ 06 мая 2010

Привет всем: мне нужно вставить строку HTML в iframe, как показано ниже:

....

var html = "<html><head><title>Titolo</title></head><body><p>body</p></body></html>"

jQuery('#popolaIframe').click(function() {
  parent.$("#indexIframe")[0].documentElement.innerHTML = html;     
}); 

Есть ли способ достичь этого?

Ответы [ 6 ]

6 голосов
/ 22 апреля 2011
var html = "<html><head><title>Titolo</title></head><body><p>body</p></body></html>"

jQuery('#popolaIframe').click(function() {
  var doc = parent.$("#indexIframe")[0].documentElement;
  doc.open();
  doc.write(html);
  doc.close();     
}); 
1 голос
/ 06 мая 2010

Работает ли этот код, который вы опубликовали?Если нет, то это возможно потому, что браузеры запрещают модификацию содержимого iframe по соображениям безопасности.

0 голосов
/ 22 октября 2014

Альтернативно, если вы не уверены в родительском элементе, вы можете сделать это:

var doc = $.find("#myIframe")[0].contentWindow.document; //that will look in the whole dom though
doc.open();
doc.write(html);

По крайней мере, это сделало работу в моем случае:)

0 голосов
/ 29 августа 2014

Вы не можете вставить в iframe, если вы не remove() iframe и не используете 'append (html)'. Вы можете вставить его внутрь тела iframes как

$('body',parent.$("#indexIframe")[0].contentWindow.document).html(html)
0 голосов
/ 06 мая 2010

Вы потеряли 1 уровень, вам нужно изменить innerHtml тела, но не документ:

document.body.innerHTML = bla-bla
0 голосов
/ 06 мая 2010

Похоже, вы можете получить ссылку на тело, поэтому я не понимаю, почему нет:

http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_iframe_contentdocument

...