DOMImplementation: createHTMLDocument()-Methode

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Die Methode DOMImplementation.createHTMLDocument() erstellt ein neues HTML-Document.

Syntax

js
createHTMLDocument()
createHTMLDocument(title)

Parameter

title Optional

Ein String, der den Titel enthält, der dem neuen HTML-Dokument gegeben werden soll.

Rückgabewert

Ein neues HTML-Document-Objekt.

Beispiele

Dieses Beispiel erstellt ein neues HTML-Dokument und fügt es in ein <iframe> im aktuellen Dokument ein.

Hier ist das HTML für dieses Beispiel:

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>

Die JavaScript-Implementierung von makeDocument() folgt:

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);
}

Der Code behandelt das Erstellen des neuen HTML-Dokuments und das Einfügen einiger Inhalte darin. createHTMLDocument() konzipiert ein neues HTML-Dokument, dessen <title> "New Document" ist. Dann erstellen wir ein neues Paragraphen-Element mit einigem einfachen Inhalt und fügen den neuen Paragraphen in das neue Dokument ein.

destDocument speichert das contentDocument des Rahmens; dies ist das Dokument, in das wir die neuen Inhalte einfügen werden. Die nächsten beiden Zeilen behandeln den Import der Inhalte unseres neuen Dokuments in den Kontext des neuen Dokuments. Schließlich ersetzt destDocument.replaceChild tatsächlich die Inhalte des Rahmens durch die Inhalte des neuen Dokuments.

Live-Beispiele anzeigen

Das zurückgegebene Dokument ist mit dem folgenden HTML vorstrukturiert:

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

Spezifikationen

Specification
DOM Standard
# ref-for-dom-domimplementation-createhtmldocument①

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch