在项目中有时候需要获取HTML内容,然后动态填充到iframe中去。
iframe的编辑不跟其他诸如div、p等标签一样,不能简单地用.innerHtml = ''设置。编辑iframe跟编辑文件差不多,需要往里写入内容。
话不多说,下面直接从项目中粘贴代码:
handleShowMessage() {
var content = this.contentHtml
var iframe = document.getElementById("NTKOFORM");
if (iframe !== null && content.length > 0) {
var ifrdoc = iframe.contentWindow.document;
//开启文档的编辑模式
ifrdoc.designMode = "on";
//打开数据流
ifrdoc.open();
//写入内容
ifrdoc.write(content);
//关闭数据流
ifrdoc.close();
//关闭文档编辑模式
ifrdoc.designMode ="off";
}else {
iframe.style.height = '0'
}
},
写入后不要忘记及时关闭数据流和文档编辑模式。