Javascript 如何获取我';我在吗?
要获取我们所处页面的源代码,使用JavaScript我们可以使用:Javascript 如何获取我';我在吗?,javascript,Javascript,要获取我们所处页面的源代码,使用JavaScript我们可以使用: var pageSource = document.documentElement.outerHTML; 或 第一个将不会将html标记前面的代码返回为 这两种方法都将删除文档开头和结尾的一些换行符 因此,有没有其他方法可以返回与编写的源代码相同的源代码,而不需要任何HTTP调用?您不能。加载网页后,浏览器不会保留原始源代码-outerHTML和XMLSerializer都试图从DOM树重建HTML(或XML)。正如您所发
var pageSource = document.documentElement.outerHTML;
或
- 第一个将不会将
标记前面的代码返回为html
- 这两种方法都将删除文档开头和结尾的一些换行符
因此,有没有其他方法可以返回与编写的源代码相同的源代码,而不需要任何HTTP调用?您不能。加载网页后,浏览器不会保留原始源代码-
outerHTML
和XMLSerializer
都试图从DOM树重建HTML(或XML)。正如您所发现的,这是一个不精确的过程,因为存在格式问题(如换行符)、错误恢复、DOM中根本不存在的元素(如注释和NOSCRIPT标记)以及由站点上运行的Javascript执行的DOM操作。实际上都可以恢复源代码的原样,包括注释和所有内容,我猜DOM树的内容也是这些数据在XMLSerializer的情况下,对于outerHTML,innerHTML的一部分是原样的,但是从DOM树生成的用于获取outerHTML的附加语法看起来(很糟糕)。编码器有一个明确、合理的问题,已经对此进行了明确的研究,并发布了他们已经尝试过的代码。为什么这会被否决?^这就是互联网。。。他们投了4张反对票,我想你应该把问题投上去。。。谢谢你,克里斯^^
var pageSource = new XMLSerializer().serializeToString(document);