有没有一种方法可以保存JavaScriptDOM操作
Is there a way to save JavaScript DOM manipulations?
例如,如果JavaScript对一个表执行了一系列操作,那么新的HTML将无法通过View->Source看到。是否有一些方法可以捕获JavaScript操作并将所有内容保存为纯HTML文档?
最简单的方法是调用
document.documentElement.outerHTML
这将获得与视图源相同的输出,只是它将使所有DOM操作都可见。然而,它可能会缺少DOCTYPE。我意识到Webkit控制台正在打印doctype fine,但没有公共的API来获取doctype,所以您必须自己打印。
一个小书签,你可以添加到浏览器中查看dom:
javascript:(function(){win=open(%22about:blank%22,%20%22View%20DOM%20Source%22,%20%22menubar=no,resizable=yes,status=no,toolbar=no%22);win.document.write(%22<pre>%22%20+%20document.documentElement.outerHTML.split(%22&%22).join(%22&%22).split(%20%22<%22).join(%22<%22).split(%22>%22).join(%22>%22)%20+%20%22</pre>%22);win.focus();})()
(抱歉,无法发布Javascript链接)。
您可以在像Firebug或IE Developer工具这样的DOM检查器中查看它
您可以使用prompt("test",document.body.innerHTML);
并复制&粘贴内容。
您可以使用innerHTML
访问表的序列化当前状态。
var table = document.getElementById("mytable");
table.innerHTML; // "<tbody><tr><td>..."
table.parentNode.innerHTML; // gets the serialization of the whole table, including the <table> tag
我知道这个问题很老了,但我发现了一种使用shell.js
捕获和保存DOM操作的方法,我想如果有人感兴趣,可以在这里列出。
假设所有DOM操作都已完成。之后。
var shell = require('shelljs');
var data = window.document.getElementsByTagName('html')[0].innerHTML;
shell.echo(data).to("your/original/file.html");
就这么简单。我发现它特别有用,尤其是在使用jsdom
的与node.js相关的DOM操作中(这显然不会单独保存DOM操作)。
注意:这将覆盖原始文件。
相关文章:
- 如何将getJson的响应保存在全局变量中
- 按下按钮时保存cookie
- 如何使用 Angular JS 将数据保存在数据库中
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- HTML5在画布中加载较小的图像并保存实际大小的图像
- 是否可以在浏览器中使用纯JavaScript保存音频流
- 如何将多个画布保存为一个图像
- PHP:显示sqlite数据库中的html格式数据,使用tinymce保存
- 如何将乳胶配方奶粉图像保存到Asp.net中的文件夹中
- 保存数组javascript
- 保存串行端口列表与流星
- 将JavaScript变量保存到Rails模型
- Java脚本将URL转换为已保存的URL时出错
- 如何自动保存动态生成的HTML SVG元素
- Javascript/jQuery压缩一个图像正确的评论帖子,并使用Ajax Laravel 5.2保存到控制器中
- 将JQuery Handontable保存到服务器上的excel文件中
- NodeJS expressJS使用multer和passport将文件上传并保存到MongoDB
- 将数据保存到数据库(ajax/php)后,使文本字段变灰/禁用
- 保存表中的行's在数组中的tbody,稍后使用它们
- 有没有一种方法可以保存JavaScriptDOM操作