获取当前页面';s源代码使用javascript和DOM

获取当前页面';s源代码使用javascript和DOM,javascript,ajax,dom,Javascript,Ajax,Dom,如何使用JavaScript和DOM获取当前页面的源代码? 我是否必须使用AJAX?当前页面的源代码: document.documentElement.outerHTML 显然,这就是页面现在的样子。对于DHTML,如果您希望从服务器获取未修改的源代码,则需要进行AJAX调用以再次接收它,并在那里捕获它 编辑:当前页面的HTML的innerHTML不正确,如下所示: 或者,您可以使用innerHTML,但只能获得标记的内容 对于当前页面的HTML,在页面加载时检索: 使用AJAX调用动态地重

如何使用
JavaScript
DOM
获取当前页面的源代码?
我是否必须使用AJAX?

当前页面的源代码:

document.documentElement.outerHTML
显然,这就是页面现在的样子。对于DHTML,如果您希望从服务器获取未修改的源代码,则需要进行AJAX调用以再次接收它,并在那里捕获它

编辑:当前页面的HTML的
innerHTML

不正确,如下所示: 或者,您可以使用
innerHTML
,但只能获得
标记的内容

对于当前页面的HTML,在页面加载时检索: 使用AJAX调用动态地重新查询页面

使用jQuery(简易路径): 任何其他现代JavaScript库都允许执行类似的操作,但为了举例说明,使用jQuery时,它将是:

$.ajax(window.location.href, {
  success: function (data) {
    console.log(data);
  }
});
var request = new XMLHttpRequest();

request.open('GET', window.location.href, false);
request.send();

if (request.status === 200) {
  console.log(request.responseText);
}
使用XMLHttpRequest对象(更复杂): 很明显,沿着基本路线,您还需要自己处理一些事情,包括跨浏览器支持,但其要点是:

$.ajax(window.location.href, {
  success: function (data) {
    console.log(data);
  }
});
var request = new XMLHttpRequest();

request.open('GET', window.location.href, false);
request.send();

if (request.status === 200) {
  console.log(request.responseText);
}

“a”页面是指当前页面还是远程页面?哪个页面的来源?我们需要更多的信息,船长!您想要当前呈现的页面的源,还是要获取的页面的源?这不一定是同一件事。只要抓取页面就可以了。我们都有一半对一半错:p
innerHTML
提供了
,其中缺少
html
元素。我将相应地编辑我的答案:仍然不包括doctype声明的数据:-)