2016-01-28 126 views
0

我有一個網站與JavaScript,當我在該網站上移動我的鼠標,有功能觸發。執行時,我需要逐步調試整個JavaScript代碼。我需要找出哪個函數被調用(以及參數)。使用參數調試javascript函數

我該怎麼做 - 我該如何使用它? 任何實時調試器?

編輯:現在我看到它是從另一個URL加載的腳本(我的網站是mydomain.tld,第二個腳本從seconddomain.tld加載)。第二個腳本被混淆/最小化,它控制網站上的點擊(當點擊時,它觸發一個功能)。 是否有可能在我的網站上使用JavaScript來調用第二個腳本中的函數?如果是,請多好。

+0

希望你不會在壓縮版本的js上工作。其他您可以使用調試器並放置一個斷點。使用Chrome開發人員的工具。 – brk

回答

1

我需要找出哪些函數被調用

在控制檯(螢火蟲,開發工具等),您可以單擊配置文件按鈕,或者使用命令:

console.profile(); 
//... 
console.profileEnd(); 

它將顯示在分析期間調用哪些函數。

然後你可以在每個人都提到的函數裏面使用debugger;命令。

+0

我試着用[這個小提琴](https://jsfiddle.net/ktkyrzL0/)和控制檯只輸出* Profile'Profile 1'完成。*。 –

+0

@ E.Sundin jsFiddle不適合使用,也不能測試控制檯命令,因爲代碼在iFrame中運行。 –

+0

我在本地進行了測試,並顯示與小提琴相同的結果。你能否提供一個你知道有效的例子? –

0

只要將指令debugger放在任何位置,Chrome就會在該位置通過時停止。

不要忘記

<script> $(document).mousemove(function(event){console.log(event);}); </script>

並打開控制檯窗口,瀏覽器,以保持調試器中打開按F12

0

,你可以跟蹤鼠標移動事件,當鼠標移動它會顯示所有的東西...

1

如果網站使用jQuery,那麼您可以使用Chrome DevTools訪問該函數源。轉到元素面板中的事件偵聽器邊欄,展開感興趣的事件並單擊鏈接來源。

E.g. input#new-todo具有內部jQuery偵聽器,但DevTools已經解析並顯示了在框架之外的用戶定義函數的鏈接。 Event listener sidebar

相關問題