В document
есть вещи, которые на самом деле не связаны с деревом DOM, которое оно содержит,
такие как document.cookie
, location
и URL
. Намного безопаснее, если мы не сможем заменить глобальные объекты, такие как window
и document
.
Но то, что вы ищете, может быть эффективно достигнуто путем замены основного document
documentElement
другим document
'documentElement
.
Он будет иметь тот же эффект, что и вы. *
document.replaceChild(
document.importNode(newdoc.documentElement, true),
document.documentElement
);
Что касается причин сделать это, я до сих пор нашел один , который не может быть достигнут с помощью iframe.
* Обратите внимание, что если типы документов отличаются, вам придется заменить тип документа основного документа.
узел с узлом типа документа другого документа отдельно.