设置脚本添加的IFRAME的innerHTML

时间:2011-11-14 16:26:39

标签: javascript html iframe

如果我有一个包含iframe的页面:


<iframe src="blank.html" id="frame"></iframe>

我运行以下javascript:


var iframe = document.getElementById("frame");
var content = iframe.contentDocument || iframe.contentWindow;
content = content.documentElement || content.document;
content.innerHTML = "Test";

我的iframe结束了内容“测试”。但是,如果我在脚本中创建iframe(例如)


var iframe = document.createElement("iframe");
iframe.id = "frame";
iframe.src = "blank.html";
document.body.appendChild(iframe);

然后运行第一个代码段,最后得到一个空白的iframe。我注意到我确实得到了我试图设置的内容的闪光 - 是否有我可以在iframe上订阅的事件让我知道它可以操作(例如它的DOM就绪事件?)

1 个答案:

答案 0 :(得分:2)

它闪烁,因为您在将DOM设置为blank.html之前更新了DOM;

var iframe = document.createElement("iframe");
iframe.id = "frame";
iframe.src="about:blank"; //or blank.html
iframe.onload = function() {
   var domdoc = iframe.contentDocument || iframe.contentWindow.document;
   domdoc.write("Test");
   alert("..or..")
   domdoc.body.innerHTML = "<em>Cake</em>";    
}
document.body.appendChild(iframe);