DOMImplementation.createHTMLDocument()
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.
Метод DOMImplementation.createHTMLDocument()
создаёт новый HTML Document
.
Синтаксис
const newDoc = document.implementation.createHTMLDocument(title)
Параметры
title
Необязательный (except in IE)-
DOMString
, содержащий заголовок для создания нового HTML-документа.
Пример
В этом примере создаётся новый HTML-документ и вставляется в <iframe>
текущего документа.
Вот 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>
Реализация JavaScript makeDocument()
выглядит следующим образом:
function makeDocument() {
let frame = document.getElementById("theFrame");
let doc = document.implementation.createHTMLDocument("New Document");
let p = doc.createElement("p");
p.innerHTML = "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);
}
Код в строках 4-12 обрабатывает создание нового HTML-документа и вставку в него некоторого содержимого. Строка 4 использует createHTMLDocument()
для создания нового HTML-документа, чей <title>
это "New Document"
. Строки 5 и 6 создают новый элемент абзаца с некоторым простым содержимым, а затем строки 8-12 обрабатывают вставку нового абзаца в новый документ.
Строка 16 вытягивает contentDocument
фрейма; это документ, в который мы будем вводить новое содержимое. Следующие две строки обрабатывают импорт содержимого нашего нового документа в контекст нового документа. Наконец, строка 20 фактически заменяет содержимое фрейма содержимым нового документа.
Возвращаемый документ предварительно сконструирован со следующим HTML-кодом:
<!doctype html>
<html>
<head>
<title>title</title>
</head>
<body></body>
</html>
Спецификации
Specification |
---|
DOM Standard # ref-for-dom-domimplementation-createhtmldocument① |
Совместимость с браузерами
BCD tables only load in the browser
Смотрите также
- Интерфейс
DOMImplementation
, к которому он принадлежит.