DOMImplementation: createHTMLDocument() 方法

DOMImplementation.createHTMLDocument() 方法创建一个新的 HTML Document

语法

js
createHTMLDocument()
createHTMLDocument(title)

参数

title 可选

一个包含要赋予新 HTML 文档的标题的字符串。

返回值

一个新的 HTML Document 对象。

示例

此示例创建一个新的 HTML 文档,并将其插入到当前文档中的 <iframe> 中。

以下是此示例的 HTML 代码

html
<body>
  <p>
    Click <a href="javascript:makeDocument()">here</a> to create a new document
    and insert it below.
  </p>
  <iframe id="theFrame" src="about:blank" />
</body>

以下是 makeDocument() 的 JavaScript 实现

js
function makeDocument() {
  let frame = document.getElementById("theFrame");

  let doc = document.implementation.createHTMLDocument("New Document");
  let p = doc.createElement("p");
  p.textContent = "This is a new paragraph.";

  try {
    doc.body.appendChild(p);
  } catch (e) {
    console.log(e);
  }

  // Copy the new HTML document into the frame

  let destDocument = frame.contentDocument;
  let srcNode = doc.documentElement;
  let newNode = destDocument.importNode(srcNode, true);

  destDocument.replaceChild(newNode, destDocument.documentElement);
}

该代码处理创建新的 HTML 文档并将一些内容插入其中。createHTMLDocument() 构造一个新的 HTML 文档,其 <title>"New Document"。然后,我们创建一个新的段落元素,其中包含一些简单的内容,然后将新的段落插入到新文档中。

destDocument 存储框架的 contentDocument;这是我们将向其中注入新内容的文档。接下来的两行处理将我们新文档的内容导入新文档的上下文中。最后,destDocument.replaceChild 实际上用新文档的内容替换了框架的内容。

查看实时示例

返回的文档预先构建了以下 HTML 代码

html
<!doctype html>
<html lang="en-US">
  <head>
    <meta charset="UTF-8" />
    <title>title</title>
  </head>
  <body></body>
</html>

规范

规范
DOM 标准
# ref-for-dom-domimplementation-createhtmldocument①

浏览器兼容性

BCD 表仅在浏览器中加载

另请参见