如何在iframe中插入html

时间:2010-05-06 12:24:48

标签: html iframe inject

Hallo all:我需要在iframe中插入一个html字符串,如下所示:

...

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 个答案:

答案 0 :(得分:6)

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 :(得分:1)

您发布的代码是否有效?如果没有,可能是因为出于安全原因浏览器不允许修改iframe内容。

答案 2 :(得分:0)

看起来你可以得到身体的参考,所以我不明白为什么不:

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

答案 3 :(得分:0)

你失去了1级,你需要修改body的innerHtml,而不是文档:

document.body.innerHTML = bla-bla

答案 4 :(得分:0)

除非remove() iframe并使用'append(html)',否则无法插入iframe。您可以将其插入iframes体内,如

$('body',parent.$("#indexIframe")[0].contentWindow.document).html(html)

答案 5 :(得分:0)

如果不确定父元素,可以这么做:

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

至少在我的情况下这完成了工作:)