[英]How to find out where is being redirected and which controller is handling data
[英]How to find out where data in DOM came from / dumping out all data in memory?
當您將鼠標懸停在圖像上時,會有一個頁面顯示特定值。 我需要以編程方式從頁面獲取該值。 我可以訪問頁面中的JS控制台,但無法確定它的來源。
我嘗試在DOM更改上添加斷點,但仍不清楚數據來自何處。
我還嘗試了轉儲整個window
對象,但是它似乎沒有轉儲足夠的數據或包含顯示的數據(數字)(從Chrome sendrequest錯誤中獲取的檢查器函數錯誤:TypeError:將圓形結構轉換為JSON )
function censor(censor) {
var i = 0;
return function(key, value) {
if(i !== 0 && typeof(censor) === 'object' && typeof(value) == 'object' && censor == value)
return '[Circular]';
if(i >= 1129)
return '[Unknown]';
++i; // so we know we aren't using the original object anymore
return value;
}
}
for(var key in window){
console.log(key);
if(key === 'frames' || key === 'self' || key === 'window' || key === 'parent' || key === 'top' || key === 'document') continue;
console.log(JSON.stringify(window[key], censor(window[key])))
}
有什么想法可以獲取頁面中數據的完整轉儲(以便我可以搜索確切的數據來源)或清楚地了解DOM中數據的來源嗎? 將DOM元素添加到圖像懸停時,然后將鼠標移開時將其刪除。
使用Chrome開發工具, right-click
元素,然后選擇inspect 。 在右側面板中,選擇“ 事件監聽器”選項卡。 在列表中,展開鼠標懸停 (或其他適當的事件)。
將為您提供直接影響該元素的代碼的鏈接。
編輯#1
請參考有關從其他(可能是不受控制的)代碼中檢索數據的注釋:
如果該數據是在代碼未創建的閉包中創建/派生/控制的,則您不太可能檢索到該數據。 這就是JavaScript閉包的本質。 數據可能在您無法觸及的氣泡內。
編輯#2
您可以使用的技巧:在元素上強制mouseover
事件。 這會將您需要的值放入DOM中。 從DOM中提取值。 然后關閉mouseover
事件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.