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
# ref-for-dom-domimplementation-createhtmldocument①

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
createHTMLDocument

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Siehe auch