问题几乎总结了它。我无权访问框架,我需要获取当前页面的完整 HTML 源代码。是否有一些 JS 原生支持的命令?
作为记录,我尝试过:
document.getElementsByTagName('html')[0].innerHTML
问题几乎总结了它。我无权访问框架,我需要获取当前页面的完整 HTML 源代码。是否有一些 JS 原生支持的命令?
作为记录,我尝试过:
document.getElementsByTagName('html')[0].innerHTML
这可以使用XMLSerializer在单行中完成。
var generatedSource = new XMLSerializer().serializeToString(document);
这给了字符串
<!DOCTYPE html><html><head>
<title>javascript - Source code of HTML page without Framework - Stack Overflow</title>
...
我认为不可能从当前页面获得完整的、实际的、实时的页面源。(编辑:看起来,这是可能的!见@Paul S.他的回答)
但是您可以做些什么来加载初始的、未更改的 HTML,只需通过 AJAX 加载页面,然后检查服务器返回的页面源。
$.get(document.location.href, function(response) {
window.console.log(response);
});
这是使用 jQuery,但您也可以使用
变量 xmlhttp; 如果(window.XMLHttpRequest){ // IE7+、Firefox、Chrome、Opera、Safari 的代码 xmlhttp=新的 XMLHttpRequest(); } 别的 { // IE6、IE5 的代码 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { 如果(xmlhttp.readyState==4 && xmlhttp.status==200){ window.console.log(xmlhttp.responseText); } } xmlhttp.open("GET",document.location.href,true); xmlhttp.send();