如果我有一个包含 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 就绪事件?)
最佳答案
它闪烁是因为您在将 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);
关于javascript - 设置脚本添加的 IFRAME 的innerHTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8124702/