有没有办法使用javascript访问页面HTML源代码?
我知道我可以使用,document.body.innerHTML
但它只包含主体内部的代码。我想获取所有页面源代码,包括 head 和 body 标签及其内容,如果可能的话,还有 html 标签和 doctype。是否可以?
有没有办法使用javascript访问页面HTML源代码?
我知道我可以使用,document.body.innerHTML
但它只包含主体内部的代码。我想获取所有页面源代码,包括 head 和 body 标签及其内容,如果可能的话,还有 html 标签和 doctype。是否可以?
利用
document.documentElement.outerHTML
或者
document.documentElement.innerHTML
这可以使用XMLSerializer在单行中完成。
var generatedSource = new XMLSerializer().serializeToString(document);
这给出了字符串
<!DOCTYPE html><html><head>
<title>html - javascript page source code - Stack Overflow</title>
...
一种方法是使用XMLHttpRequest重新请求页面,然后您将从 Web 服务器逐字获取整个页面。
前提是
页面源码可以重新下载:
fetch(document.location.href)
.then(response => response.text())
.then(pageSource => /* ... */)
对于 IE,您还可以使用:document.all[0].outerHTML