javascript - 设置脚本添加的 IFRAME 的innerHTML

标签 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 就绪事件?)

最佳答案

它闪烁是因为您在将 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/

相关文章:

html - CSS、Textareas 和 iframe - 高度 %s

javascript - jsx 中的奇怪条件渲染失败

JavaScript HTML - 按内容优化页面上的项目

javascript - 是否有任何事件可用于输入搜索的重置选项?

javascript - 延迟后(仅一次)或页面上的 iFrame 首次加载后滚动到页面顶部

javascript - 替换 iframe 的全部内容

javascript - AngularJS:如何将 JSON 数据加载到范围变量中

javascript - 当用户滚动到每个页面底部之前时,Div 会淡出不透明度

javascript - Jquery 验证,只提醒一次

javascript - 在应用程序开始时检查数据库中的 bool 值,如果为假则加载条款和条件页面,如果为真则加载菜单页面