我正在创建一个 Iframe 并尝试将 Html 添加到其主体中,但我不断收到错误无法读取 null 的属性主体。
我的代码看起来像这样:
var frameToPrint = document.createElement("IFRAME") as HTMLFrameElement;
frameToPrint.contentDocument.body.innerHTML = "";
提前谢谢您!
我找到了答案。您需要将新创建的框架附加到您的身体上。这会初始化 iframe 的 contentWindow 和 contentDocument。
var frameToPrint = document.createElement("iframe");
frameToPrint.setAttribute("name", "prnt");
document.body.appendChild(frameToPrint);
iframe 在创建时是一个空元素。它不知道它应该是(对你而言)一个 html 文档。因此它没有可以附加的主体。
下面我有一个片段作为例子。
var iframe = document.createElement("iframe");
var body = document.createElement("body");
var body = document.createElement("body");
content.textContent = "Some Text";
之后,您只需将其相应地附加到您的 iframe 元素
var iframe = document.createElement("iframe");
var body = document.createElement("body");
var content = document.createElement("p");
content.textContent = "Some Text";
body.appendChild(content);
iframe.appendChild(body);
console.log(iframe.innerHTML);