3

作为标题,我的问题是如何在页面上输出所有 DOM 内容(让我们说在服务器计算机上另存为文本文件或将结果传递给使用 ajax 的其他 php 函数)?

我做了一些功课,我尝试 curl 可以使用“curl http://google.ca > dom.txt”输出所有 DOM 内容但是,这种方法不会保存 Javascript 生成的内容,换句话说,javascript 代码会不跑。另一种方法是在页面中嵌入一些 javascript 代码,让页面加载我们要输出的网站,然后在加载完所有内容后使用 javascript 代码保存所有 DOM 文件。

我不确定phantom.js是否可以做这样的工作,如果可以,那该怎么做?

任何机构都可以就如何实现这一目标给出详细的答案?

我对任何解决方案持开放态度,该程序将在我的服务器上运行以提供服务。

先感谢您。

4

3 回答 3

4

为什么不:

jQuery(document).ready(function($) {
    $.post(
        '/your_filename.php',
        'html='+$("html").html(),
        function(response){
            alert(response);
        }
    );
});
于 2012-05-25T00:21:28.300 回答
1

您可以使用document.documentElement.innerHTML. 如果你需要一切,你可以document.doctypedocument.documentElement.outerHTML.

请注意,这outerHTML不是完全跨浏览器(它适用于 IE 和 Chrome,但不适用于 Firefox) - 有关模拟outerHTMLFirefox 的方法,请参阅以下问题:How do I do OuterHTML in firefox?

于 2012-05-25T00:19:28.933 回答
0

Javascript 是一种客户端语言,因此在服务器上运行它需要专门的技术。PHP 实际上具有使用 DOM 的能力,因为它可以在传输到客户端之前构建和修改 dom 元素,请在此处阅读更多信息。

我不确定您这样做是为了完成什么,但听起来您太努力了:您正在向客户端发送代码,以便客户端可以转身并将代码发送回服务器,以便服务器可以将其保存为文件吗?尽管如果这是您需要做的,请按照 Brilliand 和 iambriansreed 的建议使用 Javascript/jQuery 获取 dom 元素。

于 2012-05-25T00:22:44.970 回答