imp*_*s23 7 javascript dom properties
我想将完整的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)中,您可以使用on (根元素,例如)获取大部分DOM:outerHTMLdocumentElementhtml
var html = document.documentElement.outerHTML;
Run Code Online (Sandbox Code Playgroud)
你必须检查你的其他目标浏览器是否这样做.至少,他们就必须innerHTML在body:
var bodyHTML = document.body.innerHTML;
Run Code Online (Sandbox Code Playgroud)
但就其他事情而言,我不相信有任何方法可以获得每个对象的每个属性.例如,您可以window像这样找到属性:
var key;
for (key in window) {
// ...'key' is the property name, window[key] is the value...
}
Run Code Online (Sandbox Code Playgroud)
...但这只会给你可枚举的属性,而不是不可枚举的属性.当然,你必须递归到对象,以得到他们的属性(允许的事实,你可以得到一个对象在一个以上的方式-例如,window === window.window还有还有top,self等后顾之忧;同理为document.all,document.forms,...).
所以不幸的是,虽然你可以得到很多你正在谈论的信息,但我不相信你能得到这一切.