document.innerHTML
является новым в HTML5 и поддерживается не во всех браузерах.
document.documentElement
относится к корневому элементу вашего документа, который в данном случае является элементом <html>
.
Итак, вы можете установить document.documentElement.innerHTML
. Обратите внимание, что поскольку DOCTYPE выходит за рамки этого, нет необходимости включать его в innerHTML
.
Пример (попробуйте запустить его в консоли JS вашего браузера):
document.documentElement.innerHTML = '<title>Test</title><p>LOLWAT';
Обновление: document.innerHTML
перемещено из спецификации HTML в спецификацию синтаксического анализа и сериализации DOM , а затем удалено. Предлагаемая альтернатива - использовать DOMParser :
var doc = (new DOMParser).parseFromString('<!doctype html><title>wat</title>', 'text/html');
К сожалению, на момент написания статьи большинство браузеров пока не поддерживают это для HTML.