我只想用预先存在的文档对象替换空白的iframe文档。不是可以将write()
方法与一起使用的HTML字符串(该解决方案在许多其他答案中,在此处)。我只想要一个文档对象来替换另一个文档。
我的空白iframe:
<iframe src="about:blank" id="myIframe"></iframe>
替换空白iframe文档的常规:
function replaceIframeDoc(objDoc){
var nod_if = document.getElementById("myIframe");
var nod_ifDoc = nod_if.contentWindow.document || nod_if.contentDocument;
nod_ifDoc = objDoc;
}
创建了文档对象,并调用以执行替换:
(注意:我将我的文档对象封装在一个简单的对象中......我需要为其他一些不相关的东西做这些...只是为了轻松转移一些属性等等。希望它对我的问题无关紧要!)
var obj_container = new Object; //just to make easier to do some other stuff
obj_container.document = document.implementation.createHTMLDocument();
obj_container.document.open();
obj_container.document.write("<html>...(some html)...</html>");
obj_container.document.close();
replaceIframeDoc(obj_container.document);
答案 0 :(得分:0)
根据您需要支持的浏览器,您可以执行以下操作:
var iframe = document.getElementById("myIframe");;
var oldNode = iframe.contentDocument.getElementById("myNode");
var newNode = document.importNode(oldNode, true);
document.getElementById("container").appendChild(newNode);
您可以在此处阅读更多内容:https://developer.mozilla.org/en-US/docs/Web/API/document.importNode