簡體   English   中英

是否可以在不使用斷點的情況下使用Firebug停止javascript?

[英]Is it possible to stop a javascript with Firebug without using breakpoints?

Firebug是否可以通過按下按鈕或鍵盤快捷鍵來停止javascript,而不是通過設置斷點來停止它?

我為什么要這樣做? 我們有一個非常動態的網站,有很多動畫。 如果我能在動畫正在做我想要檢查的事情時停止腳本,那將是一個很大的幫助。 這比擺弄斷點要快得多。

我是這樣做的,從Web控制台(不是暫存器)運行:

window.addEventListener("keydown", function() {debugger;})

然后返回調試器選項卡。 當您關注文檔並按下某個鍵時,瀏覽器將暫停JS。

Firebug中有一個暫停按鈕。 點擊它就是你要找的東西。

Firebug有不同的方法可以在不在特定行設置斷點的情況下停止腳本執行。 這些選項稱為Break On功能

在您的情況下,我看到兩個相關的選項:

  1. 在下一個執行的行上打破JavaScript
    腳本”面板上有“下一個中斷”按鈕( * Break On Next *按鈕 ),它允許您在下一個執行的JavaScript語句中停止腳本執行。 也可以通過鍵盤快捷鍵Ctrl + Alt + B啟用此功能。

    因此,只要動畫處於想要檢查的位置,就可以點擊鍵盤快捷鍵。

  2. 打破HTML變異
    HTML面板上有一個Break On Mutate按鈕( * Break On Mutate *按鈕 ),它允許您在下一個HTML突變時停止腳本執行。
    還有更細粒度的選項可以阻止特定元素的變異,這些元素在元素的上下文菜單中可用。 這些選項是:

    • 中斷屬性更改 :在添加,更改或刪除元素的屬性時停止腳本執行。
    • Break On Child Addition或Removal :在添加或刪除子節點時停止腳本執行。
    • Break On Element Removal刪除元素本身時停止腳本執行。

    在您的情況下,如果動畫在元素的style屬性中更改CSS,則Break On Attribute Change可能是正確的選擇。

如果你知道它想要檢查的是什么,那么斷點有什么問題? 此外,您可以在代碼中使用debugger關鍵字,也可以在代碼中注入console.log / debug / warn / info語句。 (您可以為那些沒有控制台對象的環境存根控制台對象)。

如果您使用Web開發人員插件,則可以禁用所有java腳本在頁面上運行,然后根據需要使用firebug。

根據您的描述,我猜測您的代碼中的javascript控制台日志記錄可能對您有所幫助。 查看http://getfirebug.com/wiki/index.php/Console_API

根據您正在使用的動畫庫,可能會有一個“停止所有動畫”方法 - 例如jQuery的.stop() 你是如何處理動畫的?

解決此問題的最佳方法是轉到HTML下拉列表,其中包含firebug中的HTML選項卡。 取消選擇“突出顯示更改”和“滾動更改以查看”,這應該允許您檢查正在執行的html和css代碼。 我希望你們能做到這一點。

如果網站不斷從服務器重新加載內容,則可以切換到“網絡”窗格。 上下文菜單中有一個“Break on XHR”條目,當選中該條目時,它會在嘗試獲取新內容時停止您的腳本。

最簡單的方法是安裝firefox擴展“PrefBar”。 在那里你可以添加一個復選框“JavaScript”。 如果你停用它,javascript就會停止。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM