2016-09-22 42 views
1

簡短背景:我對JavaScript很新穎,目前對根據我的需求定製第三方網站感興趣 - 即爲Greasemonkey等編寫腳本。通常這些網站會像Jquery,Bootstrap等庫一樣臃腫,這使得更難確定它們的工作方式。Javascript:如何一步式進行網站初始化?

當我分析一個新網站並想知道執行什麼代碼時,我可以使用Firebug創建斷點或觀察點,然後單步執行代碼。但是,這對於在網站第一次加載時已經運行的代碼無效。我該如何單步執行此部分?基本上我正在尋找一種方法來設置一個斷點,甚至在第一個Javascript代碼執行之前。

如果有比Firebug更好的工具,我都樂意提供建議。請記住,我不控制網站,所以更改網站的代碼是不可能的。

回答

0

如果它足夠讓你停在頁面(通常是一些代碼獲取事件之前執行)的負載情況下,你可以做到以下幾點:

  1. 切換到HTML面板和有到事件側面板。
  2. 向下滾動到部分說的窗口以外的聽衆
  3. 右鍵單擊「加載」事件下的功能(可能是一個與除它以外的箭頭),然後從上下文菜單中選擇設置斷點

    注意:可能有'DOMContentLoaded'事件處理程序,它在'load'事件之前調用。所以,如果存在,請在該函數中設置斷點。

  4. 重新加載頁面。

下面是菜單的截圖: Setting a breakpoint at the 'load' event

如上所述,通常前的「負荷」事件被激發,就像圖書館得到載入或一些全局變量初始化已執行一些代碼。儘管據我所知,Firebug(或其他瀏覽器開發工具)沒有選擇在第一個執行的JavaScript語句中停止腳本執行。 但是在這條線上設置斷點通常還是很容易的。它只是需要一些手動搜索:

  1. 裏面的腳本面板選擇名爲在線Script Location Menu(第三個工具欄按鈕從左邊)的第一個腳本。
  2. 搜索第一個JavaScript行,或者如果沒有內聯JavaScript,請從腳本位置菜單中的第一個<script>元素中選擇腳本。
  3. 在腳本的第一行設置一個斷點。
  4. 重新加載頁面。