JavaScript:获取当前页面当前源代码

9
我有一段HTML代码,我需要获取它的页面源代码。
document.documentElement.outerHTML

或者

$.ajax({
async: true,
type: 'GET',
cache: false,
url: window.location.href,
success: function(data) {
   alert(data);
}
});

正在工作,但它们显示原始源代码。如果我更改HTML(例如通过jQuery),它们不会读取我的更改。

是否可以读取当前页面的源代码?


2
你不想要源代码,而是想要DOM吗? - EricG
document.getElementsByTagName("HTML")[0].outerHTML这个怎么样? - EricG
你为什么认为 document.documentElement.outerHTML 不能正常工作? - Bergi
可能是重复的问题:如何将整个文档HTML作为字符串获取? - wesinat0r
4个回答

11

我在谷歌浏览器上试过了,它可以使用。

document.documentElement.innerHTML

有趣的是,你的代码也奏效了。

document.documentElement.outerHTML

查看此fiddle中在控制台打印的html。它实际上包含了jQuery所做的更改。


请注意,这将包括已对DOM进行的更改。例如,某些插件会注入HTML代码,如果您调整<textarea>的大小,则会添加高度和宽度属性。 - Jordan Eldredge

5
使用jQuery,您可以通过以下方式实现:
$( 'body' ).html();

例如。
或者转换为字符串:
$( 'body' ).html().toString();

it's not whole page, i guess? - indapublic
@indapublic 是 HTML 的主体,可使用 $( 'html' ) - antyrat
作者的.outerHTML不起作用,这难道不令人惊讶吗? - EricG

1

您只需要获取元素并使用html方法:

$('.selector').html();

-1

简单的解决方案,文档源通常嵌入在HTML标签中,因此使用$('html').html(),您将获得HTML标签之间的所有内容。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接