JavaScript/Jquery HTML将DOM结构/页面导出为HTML文件或文本

JavaScript/Jquery HTML将DOM结构/页面导出为HTML文件或文本,javascript,jquery,html,Javascript,Jquery,Html,我想通过dom修改各种元素属性,然后将该页面另存为html文件。视图源并不总是反映dom调整。有没有办法将整个页面写入一个文件,或者将更新后的源页面写入一个文件 我想这应该对你有好处 $('html').html(); 从浏览器运行JavaScript时无法写入文件(安全性)。但您可以将其发送到PHP脚本,然后将其写入文件。例如: $.post('write.php', { dom : $('html').html() }); write.php file_put_contents('new

我想通过dom修改各种元素属性,然后将该页面另存为html文件。视图源并不总是反映dom调整。有没有办法将整个页面写入一个文件,或者将更新后的源页面写入一个文件

我想这应该对你有好处

$('html').html();
从浏览器运行JavaScript时无法写入文件(安全性)。但您可以将其发送到PHP脚本,然后将其写入文件。例如:

$.post('write.php', { dom : $('html').html() });
write.php

file_put_contents('new.html', urldecode($_POST['dom']));
在(IE 10、FF 20、Chrome 26、Safari 6、Opera 15)中,您可以创建
Blob
,并使用
window.URL.createObjectURL
将其保存到文件中

,:

  • 其中,
    blob
    是一个对象或要为其创建URL对象的对象
  • objectURL
    是生成的对象URL。指定文件的全部内容由URL的文本表示。然后可以在
    窗口中使用它。打开
Blob
的示例:

var parts = ["<p class=\"paragraph\"><a id=\"link\">hey!<\/a><\/p>"];
new Blob(parts, { "type" : "text\/html" });

现在在其他浏览器中对此的支持也很好,在我的Firefox版本中肯定可以使用,例如:window.open(window.URL.createObjectURL(新Blob([document.documentElement.outerHTML],{type:'text/plain'}));您好Radek,如果我的下载文件夹中已经有一个同名文件,有没有办法覆盖其内容而不创建另一个文件?@Kumar这与问题无关。浏览器将通过稍微更改文件名使其唯一来创建文件的新版本。如果您想覆盖原始内容,可以考虑编写一个Node.js脚本,请求一个文件并将其存储在本地;例如
var parts = ["<p class=\"paragraph\"><a id=\"link\">hey!<\/a><\/p>"];
new Blob(parts, { "type" : "text\/html" });
chrome://blob-internals