2012-04-21 26 views
37

我正在查看必應地圖網站。我正在打開我的地點編輯器並在繪圖工具欄中單擊折線工具當我點擊某個元素時,如何找出JavaScript運行的內容?

我想發現當我點擊繪圖工具欄中的工具時運行的JavaScript。

我已經看過html,並且沒有在元素上聲明的onclick事件。

我已經對頁面引用的所有腳本進行了文本搜索,以查找折線工具元素的ID。這是爲了找到將單擊事件附加到元素的javascript,但我根本沒有找到匹配。

當我點擊一個工具時,必須運行一些腳本。當我點擊工具欄中的工具div時,如何找出正在執行的腳本?

我不認爲有反正我可以設置斷點,如果我不知道什麼腳本來設置它們。無論如何,我可以通過IE F12開發人員工具或Firebug來捕獲運行的JavaScript,以發現它是什麼?

+2

在firebug中,您可以點擊「暫停」按鈕。然後,點擊你想要的位置。只要js做某事,「暫停」按鈕將使您的調試停止。 – 2012-04-21 20:55:10

+0

相關:http://stackoverflow.com/questions/446892 – 2012-04-21 20:55:23

+2

Chrome開發者工具中至少有一個「事件監聽器」部分。也許IE也有它們,或者你可以在Chrome中檢查它。它位於顯示CSS屬性的面板下方。 – 2012-04-21 20:55:32

回答

47

您可以查看Chrome中的「事件監聽器」面板,其中包含有關每個監聽器附加到元素的詳細信息。

enter image description here

+0

感謝GGG,我已經做到了這一點,可以看到聽衆身體,但行號不正確,我認爲(它說行1看起來是錯的)。 javascript文件已被縮小,全部在一行,所以我想這就是原因。有沒有一種方法可以發現偵聽器功能的名稱?或找到正確的行號? – 2012-04-21 21:40:14

+1

確實有。在檢查器的「資源」選項卡中找到腳本(您應該能夠從「事件監聽器」面板獲取該腳本)並查看窗口的底部。在上面的屏幕快照的放大鏡附近,您會看到一個如下所示的按鈕:'{}'。點擊它,這是一個漂亮的打印按鈕。現在回頭看看Event Listeners面板,它將使用漂亮打印代碼中的新行號。 – 2012-04-21 22:05:21

+0

你的意思是「腳本」選項卡?我在「腳本」選項卡下看到了一個「{}」漂亮的打印按鈕,但沒有顯示「資源」選項卡。實際上,我已經嘗試使用「腳本」選項卡中的此按鈕格式化腳本,但「事件監聽器」面板中的行號未更新。任何想法讓它更新?謝謝 – 2012-04-21 22:30:25

1

打開調試器並啓動分析器。點擊你想要的。看看分析器是什麼,看看被調用的是什麼。

+1

有趣的是,當我點擊[本頁]右上角的最大化按鈕(http:// wiki)時,我正在查找'toggle()'函數時,會產生50多個配置項條目。 dandascalescu.com/reviews/online_services/customer_and_project_management_systems)。 – 2014-10-08 20:10:38

3

要找到一個潛在事件處理程序已添加動態嘗試執行中的類名 IDS 所有源搜索一個特定的元素。一旦找到事件處理程序,您可以設置斷點並進行驗證。

谷歌瀏覽器的全球搜索效果很好。

10

在Chrome開發人員工具中,單擊時間軸選項卡,取消選中「加載」和「渲染」,然後單擊記錄按鈕(實心圓)。點擊按鈕觸發事件,然後再次點擊該圓圈停止錄製。在時間軸中查找您的活動,並通過點擊旁邊的箭頭進行展開。在左邊它會告訴你哪個函數被調用。

3

我之前在Chrome的調試工具中使用過Profiler。

在Chrome中打開該網站,F12以打開調試工具。在工具頂部的選項卡中,點擊個人資料。

確保選中收集JavaScript的CPU配置文件被選中,並點擊開始,然後單擊折線工具你好奇,並創下停止。分析器現在應該列出所有在分析器處於活動狀態時進行的Javascript調用。

Firebug可能有類似的東西。

相關問題