如何使用PHP检索页面源代码(在javascript运行之后)?
在我的页面上,javascript在页面加载时添加了很多类(取决于页面)。如何使用PHP检索页面源代码(在javascript运行之后)?,javascript,php,debugging,Javascript,Php,Debugging,在我的页面上,javascript在页面加载时添加了很多类(取决于页面)。 如何等待javascript添加了这些类,然后使用javascript或PHP从其他文件获取HTML?看起来您需要的是。如果您使用的是谷歌浏览器,您也可以使用 这些工具将允许您查看页面的实时DOM,以及跟踪javascript所做的任何更改。像这样的工具对我们这些开发人员来说是必不可少的。除了从页面本身的JavaScript中接收呈现的HTML源代码外,您不能通过其他资源接收呈现的HTML源代码。JS完成HTML中的所有
如何等待javascript添加了这些类,然后使用javascript或PHP从其他文件获取HTML?看起来您需要的是。如果您使用的是谷歌浏览器,您也可以使用
这些工具将允许您查看页面的实时DOM,以及跟踪javascript所做的任何更改。像这样的工具对我们这些开发人员来说是必不可少的。除了从页面本身的JavaScript中接收呈现的HTML源代码外,您不能通过其他资源接收呈现的HTML源代码。JS完成HTML中的所有内容更改后,您可以将HTML源代码发布到服务器上的PHP并保存它 伪代码:
// JavaScript using jQuery
setTimeout("jQuery.post('/catch.php', jQuery(document));", 2000);
// on the server side create a catch.php file
<?php
file_put_contents('./tmp.txt', 'php://input');
//使用jQuery的JavaScript
setTimeout(“jQuery.post('/catch.php',jQuery(document));”,2000);
//在服务器端创建catch.php文件
你不能,很容易
JavaScript修改内存中的DOM。这是与最初发送到浏览器的“源”完全不同的实体
您可以做的最接近的事情是通过JS构建DOM的XML表示,并通过AJAX将其发送回服务器。我无法理解您为什么希望/需要这样做。页面加载完毕后,使用Ajax将呈现的源代码发布回PHP脚本
$(function()
{
var data = $('body').html();
$.post('/path/to/php/script', data);
});
(本例假设您正在使用jQuery)打开您的书签/收藏夹,用它创建一个新的书签/收藏夹,然后在页面加载后单击它:
javascript:IHtml=document.documentElement.innerHTML;
LThan=String.fromCharCode(60);
LT=new RegExp(LThan,'g');
IHtml=IHtml.replace(LT,'<');
IHtml=IHtml.replace(/ /g,' ');Out ='';Out+='<!DOCTYPE html PUBLIC "-\/\/W3C\/\/DTD XHTML 1.0 Transitional\/\/EN"';Out+=' "http:\/\/www.w3.org\/TR\/xhtml1\/DTD\/xhtml1-transitional.dtd">';
Out+='<html xmlns="http:\/\/www.w3.org\/1999\/xhtml" xml:lang="en-US" lang="en-US">';
Out+='<head><title>Inner HTML<\/title><\/head>';
Out+='<body style="color:black;background-color:#ffffee;">';
Out+='Body HTML:<br \/><ul>';
NLine=String.fromCharCode(10);
ILines=IHtml.split(NLine);
for (ix1=0; ix1< ILines.length; ix1++) {
Out+='<li>'+ILines[ix1]+'<\/li>';
}
Out+='<\/ul>';
Out+=' [<a href="javascript:void(0);" onclick="window.close();" title="close">Close<\/a>]';
Out+='<\/body><\/html>\n';
PopUp1=window.open('','IHTML');
PopUp1.document.write(Out);
PopUp1.document.close();
javascript:IHtml=document.documentElement.innerHTML;
LThan=String.fromCharCode(60);
LT=新的RegExp(LThan,'g');
IHtml=IHtml.替换(LT,”);
IHtml=IHtml.replace(//g',);Out='';Out+='';
Out+='';
Out+=“内部HTML”;
Out+='';
Out+=“正文HTML:
”;
NLine=String.fromCharCode(10);
ILines=IHtml.split(NLine);
对于(ix1=0;ix1'+ILines[ix1]+';
}
Out+='';
Out+='[关闭]';
Out+='\n';
PopUp1=window.open(“”,'IHTML');
PopUp1.文件。写入(输出);
PopUp1.document.close();
非常感谢,这正是我想要的。我将创建临时PHP文件,并将用户发送到这些文件。Firefox的Web Dev工具栏应该能够做到这一点: