[英]Get full DOM stack as a string
我想將完整的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
(根元素,例如html
)上使用outerHTML
獲取大部分DOM :
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
自己實現它,它甚至包括不可枚舉的屬性。 我做了一個小例子,展示了如何做到這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.