我被困在修改別人的源代碼,不幸的是它非常強大的沒有記錄。如何在按下按鈕時發現哪個函數被調用?
我試圖弄清楚當我按下一個按鈕作爲努力跟蹤當前錯誤的來源時,調用哪個函數,我沒有運氣。從我所知道的函數它會在生成後動態添加到按鈕中,因此,我沒有檢查onlick =「」,並且我的調試面板中找不到任何其他幫助信息。 「M更願意在不同的瀏覽器啓動了,如果我不得不這樣做。
我被困在修改別人的源代碼,不幸的是它非常強大的沒有記錄。如何在按下按鈕時發現哪個函數被調用?
我試圖弄清楚當我按下一個按鈕作爲努力跟蹤當前錯誤的來源時,調用哪個函數,我沒有運氣。從我所知道的函數它會在生成後動態添加到按鈕中,因此,我沒有檢查onlick =「」,並且我的調試面板中找不到任何其他幫助信息。 「M更願意在不同的瀏覽器啓動了,如果我不得不這樣做。
在Chrome中,鍵入後您的地址欄下面頁面已完全加載(不要忘記更改按鈕類別):
var b = document.getElementsByClassName("ButtonClass"); alert(b[0].onclick);
或者您可以嘗試(進行相應的更改f或正確的按鈕ID):
var b = document.getElementById("ButtonID"); alert(b.onclick);
這應該警告消息框中的函數名稱/代碼段。
擁有函數名稱或代碼片段後,您只需通過.js文件爲片段/函數名稱執行搜索。
希望它有幫助!
您可以爲每個函數添加一個跟蹤變量。使用console.log()查看跟蹤結果。
像這樣:
function blah(trace) {
console.log('blah called from: '+trace);
}
(查看結果,你必須打開開發者控制檯)
檢查按鈕標記,看看它的類/ ID。使用class和id和搜索的JavaScript,它很可能是以前開發商做了一些類似
document.getElementById('someId').onclick = someFunction...;
或
document.getElementById('someId').addEventListener("click", doSomething, false);
是的,我最終設法追溯到後者。看起來他們使用某種預先創建的工廠代碼將功能附加到相關按鈕上。 – RonLugge
我不認爲這是可能的,但我會考慮它 –