Сначала необходимо установить контекст просмотра для этого документа, как подсказывает @rlemon.
Самый простой способ предоставить контекст просмотра - поместить новый документ в элемент iframe
заменив документ iframe
новым документом.
Этот пример взят из демонстрации MDN о том, как это сделать:
var frame = document.getElementById("theFrame");
// note the use of createHTMLDocument
var doc = document.implementation.createHTMLDocument("New Document");
var destDocument = frame.contentDocument;
var srcNode = doc.documentElement;
var newNode = destDocument.importNode(srcNode, true);
destDocument.replaceChild(newNode, destDocument.documentElement);
// Now it is in a browsing context and the location can be set
destDocument.location.href = "//example.com";
Я заметил, что вы создаете HTMLдокумент.Поэтому я использовал createHTMLDocument
, а не createDocument
(что создает XMLDocument
).
Этот пример не будет работать здесь как фрагмент, потому что iframe
заблокирован.Итак, вот jsbin с этим кодом, работающим .