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

Mat*_*ton 4 html javascript jquery

我想通过dom各种元素属性进行修改,然后将该页面保存为html文件.查看源并不总是反映dom调整.有没有办法将整个页面写入文件或以其他方式将更新的源页面写入文件?

Joh*_*ler 6

我认为这应该为你做的伎俩.

$('html').html();
Run Code Online (Sandbox Code Playgroud)

从浏览器(安全性)运行时,JavaScript无法写入文件.但您可以将其发送到PHP脚本并从那里将其写入文件.例如:

$.post('write.php', { dom : $('html').html() });
Run Code Online (Sandbox Code Playgroud)

write.php

file_put_contents('new.html', urldecode($_POST['dom']));
Run Code Online (Sandbox Code Playgroud)


Rad*_*dek 6

新的浏览器(IE 10,FF 20,Chrome 26,Safari 6,Opera 15)中,您可以使用创建Blob并将其保存到文件中window.URL.createObjectURL.

演示,参考:

objectURL = window.URL.createObjectURL(blob);
Run Code Online (Sandbox Code Playgroud)
  • blob一个文件对象或斑点对象创建一个URL对象.
  • objectURL是生成的对象URL.指定文件的全部内容由URL的文本表示.它可以用于window.open.

例子Blob:

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

要列出Chrome中的当前Blob,请在地址栏中执行以下操作:

chrome://blob-internals
Run Code Online (Sandbox Code Playgroud)