Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript捕获完整的网页_Javascript_Jquery - Fatal编程技术网

如何使用javascript捕获完整的网页

如何使用javascript捕获完整的网页,javascript,jquery,Javascript,Jquery,我将javascript代码注入到用户当前正在查看的页面中,在用户命令下,此脚本将进行DOM更改。在此交互结束时,用户可能希望保存页面,以便稍后查看/编辑。我还记得用户所做的DOM更改,但如果原始页面(在其源代码处)发生更改,我将无法为用户恢复此页面。这就是为什么我要将更改的页面发送到我的服务器。我应该能够完全恢复它,页面应该完全按照它的方式运行(包括脚本和媒体) 此外,我无法在我的终端存储用户页面的媒体(资源限制),因此我想我必须在各种脚本(HTML/CSS/JavaScript)中解析和修改

我将javascript代码注入到用户当前正在查看的页面中,在用户命令下,此脚本将进行DOM更改。在此交互结束时,用户可能希望保存页面,以便稍后查看/编辑。我还记得用户所做的DOM更改,但如果原始页面(在其源代码处)发生更改,我将无法为用户恢复此页面。这就是为什么我要将更改的页面发送到我的服务器。我应该能够完全恢复它,页面应该完全按照它的方式运行(包括脚本和媒体)

此外,我无法在我的终端存储用户页面的媒体(资源限制),因此我想我必须在各种脚本(HTML/CSS/JavaScript)中解析和修改媒体的所有地址/引用/链接到全局URL/URI

现在的问题是,是否有一个库/框架/jquery扩展可以帮助我实现这个目标

否则,正确/专业的方法是什么

$('body').html()
$('head').html()
$('html').html()

下载firebug,并在此页面的控制台窗口中尝试。我正在返回看起来正确的数据。

因为您使用的是jQuery,所以可以尝试
$(“html”).html()再次输出时,请确保添加适当的
标记。

我是否正确地认为您正在构建某种CMS,让用户在Contenteditable模式下编辑整个页面(而不仅仅是单独的内容块)


我会明确建议寻找一个解决方案,如/tinymce等。。。因为自己做这一切将是一种可怕的痛苦。

来自@Sydenam的答案应该可以很好地保存整个HTML页面

同时,这是<强>重要< /强>,我建议您在这里考虑一个潜在的<强>安全问题< /强>。事实上,用户可以在DOM中注入他想要的任何内容,并让您保存它,例如,像在远程服务器上发送机密信息的讨厌的Javascript函数

因此,在我看来,这样做的一种专业方法是将DOM的部分专门用于该用途,比如说可以使用$(''editable_div')加载的
。加载('your_url',参数等等),然后使用另一个AJAX调用保存

保存它时,您可以解析这段HTML,并用一些regexp(如标记)确保里面没有任何讨厌的东西

希望有帮助

问候,