Ответ 1
Используйте
document.documentElement.outerHTML
или
document.documentElement.innerHTML
Есть ли способ получить доступ к исходному HTML-коду страницы с помощью javascript?
Я знаю, что могу использовать document.body.innerHTML
, но он содержит только код внутри тела. Я хочу получить весь исходный код страницы, включая теги head и body с их содержимым, и, если возможно, также тег html и doctype.
Возможно ли это?
Используйте
document.documentElement.outerHTML
или
document.documentElement.innerHTML
Это можно сделать в однострочном режиме, используя XMLSerializer.
var generatedSource = new XMLSerializer().serializeToString(document);
Что дает String
<!DOCTYPE html><html><head>
<title>html - javascript page source code - Stack Overflow</title>
...
Один из способов сделать это - перепроверить страницу с помощью XMLHttpRequest, тогда вы получите всю страницу дословно из веб-сервер.
При условии, что
источник страницы может быть повторно загружен:
fetch(document.location.href)
.then(response => response.text())
.then(pageSource => /* ... */)
Для IE вы также можете использовать: document.all [0].outerHTML