我现在可以用javascript打开iframe来将内容写入其中。它给了我一个安全错误,因为我没有使用任何跨站点的东西。
我用javascript创建iframe,我想用相同的javascript写入它。
CODE:
var iframe = document.createElement("iframe")
var doc = iframe.contentDocument || iframe.contentWindow.document;
doc.open();
doc.write("htmlcontent");
doc.close();
Firefox中的错误:
例外:安全错误“代码:”1000“nsresult:”0x805303e8(NS_ERROR_DOM_SECURITY_ERR)“位置:”未知“
在IE中正常工作
请告诉我上述错误的解决方案。
答案 0 :(得分:0)
我不确定。尝试添加父体。
var iframe = document.createElement("iframe")
// add this
iframe.style.display = 'none'; // if you want
document.body.appendChild(iframe);
// add this
var doc = iframe.contentDocument || iframe.contentWindow.document;
doc.open();
doc.write("htmlcontent");
doc.close();
答案 1 :(得分:0)
var iframe = document.createElement("iframe");
在Firefox中,iframe.contentDocument
和iframe.contentWindow
为null
,然后将iframe插入页面,文档readyState为"uninitialized"
但不是"complete"
(与其他浏览器一样) ),你应该等待onload或DOMContentLoaded事件。
var iframe = document.createElement("iframe");
iframe.style.display = 'none'; // if you want
document.body.appendChild(iframe);
var doc = iframe.contentDocument || iframe.contentWindow.document;
if(doc.readyState == 'complete'){
doc.open();
doc.write("htmlcontent");
doc.close();
}else{
iframe.contentWindow.onload = function(){
doc.open();
doc.write("htmlcontent");
doc.close();
};
}