要获取我们所在页面的源代码,使用JavaScript我们可以使用:
var pageSource = document.documentElement.outerHTML;
或
var pageSource = new XMLSerializer().serializeToString(document);
html
标记之前的代码作为<!DOCTYPE html>
返回。所以有任何替代方法可以将源代码返回到与不需要HTTP调用而编写的源代码相同的位置吗?
答案 0 :(得分:1)
你做不到。加载网页后,浏览器不会保留原始源代码 - outerHTML
和XMLSerializer
都尝试从DOM树重建HTML(或XML)。正如您所发现的那样,这是一个不精确的过程,因为格式化怪癖(例如,换行符),错误恢复,根本不存在于DOM中的元素(例如,注释和NOSCRIPT标记)以及执行的DOM操作通过在网站上运行的Javascript。