获取完整的DOM堆栈作为字符串
Get full DOM stack as a string
我想获得完整的DOM堆栈作为字符串。例如,请打开Chrome,按F12并输入"document.all"。该对象表示完整的DOM。我想把这个对象转换成字符串。在Chrome浏览器中,您可以探索对象,展开部分并在web调试器控制台查看其内容。是否有可能转换文件。都是字符串吗?或者一个类似的解决方案,给我完整的DOM堆栈?我不只是想要innerHTML/outerHTML,我想要当前DOM中定义的所有内容。什么好主意吗?提前感谢……
编辑:好吧,我想我的问题有点令人困惑,抱歉。为了澄清这一点:我想获得每个定义的对象的的每个属性,包括像"文档"这样的东西。"、"document.location位置。散列"、"窗口。innerHeight"、"document.body。innerHTML"等,通过使用JavaScript。据我所知,没有办法获得每个对象的每个属性。
在至少一些浏览器(Chrome,例如),你可以得到大部分的DOM与outerHTML
在documentElement
(根元素,例如,html
):
var html = document.documentElement.outerHTML;
你必须检查你的其他目标浏览器是否这样做。至少,它们在body
上有innerHTML
:
var bodyHTML = document.body.innerHTML;
但是在其他方面,我不相信有任何方法可以得到每个对象的所有属性。例如,您可以在window
上找到这样的属性:
var key;
for (key in window) {
// ...'key' is the property name, window[key] is the value...
}
…但这只会给你可枚举的属性,而不是不可枚举的属性。当然,您必须递归到对象中以获得它们的属性(允许您可以通过多种方式获得对象) —例如,window === window.window
,还有top
, self
等需要担心;document.all
, document.forms
,…).
所以不幸的是,虽然你可以得到很多你正在谈论的信息,我不相信你能得到它全部
您可以使用Object.getOwnPropertyNames
自己实现这一点,它甚至可以包含不可枚举的属性。我做了一个小例子来展示如何做到这一点。
相关文章:
- 如何在JavaScript中将字符串转换为函数引用
- jQuery中是否内置了任何字符串格式化函数
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- ng打开空字符串
- 正则表达式在字符串中找到base64
- Rails File_field最大堆栈大小
- 如何将字符串值从php页面发送到java脚本页面
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 字符串在将其传递给另一个活动Android JavaScript时读取Null
- 对id以某个字符串开头的元素进行计数
- Javascript逻辑运算符和字符串/数字
- 反向字符串比较
- 如何有效地将游戏数据存储在URL查询字符串中
- d3中堆栈函数和嵌套函数之间的差异
- 从nodejs中抛出的字符串中获取堆栈跟踪
- 获取完整的DOM堆栈作为字符串
- Javascript字符串存储在堆栈中
- Javascript:打印字符串的排列超出堆栈内存
- Rhino Javascript -如何为异常堆栈跟踪标记字符串源
- 将数组缓冲区转换为字符串:超出最大调用堆栈大小