gpt4 book ai didi

javascript - 以字符串形式获取完整的 DOM 堆栈

转载 作者:数据小太阳 更新时间:2023-10-29 04:40:47 24 4
gpt4 key购买 nike

我想以字符串形式获取完整的 DOM 堆栈。例如,请打开 Chrome,按 F12 并输入“document.all”。这个对象代表完整的 DOM。我想将此对象转换为字符串。在 Chrome 中,您可以浏览对象、展开部分并在 Web 调试器控制台中查看其内容。是否有可能将 document.all 转换为字符串?或者类似的解决方案给我完整的 DOM 堆栈?我不只是想要 innerHTML/outerHTML,我想要当前 DOM 中定义的所有内容。有任何想法吗?提前致谢...

编辑:好的,我觉得我的问题有点令人困惑,对此深表歉意。澄清这一点:我想获取定义的每个对象每个属性,包括“document.location”、“document.location.hash”、“window”等内容.innerHeight”、“document.body.innerHTML”等,使用 JavaScript。

最佳答案

据我所知,没有办法获取每个对象的每个属性。

至少在某些浏览器(例如 Chrome)中,您可以使用 documentElement 上的 outerHTML 获取大部分 DOM(根元素,例如 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, ...).

很遗憾,虽然您可以获得很多您所谈论的信息,但我不相信您可以全部

关于javascript - 以字符串形式获取完整的 DOM 堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17108829/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com