![](/img/trans.png)
[英]Firebug doesn't load JavaScript files or stop execution on breakpoints
[英]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功能 。
在您的情況下,我看到兩個相關的選項:
在下一個執行的行上打破JavaScript
“ 腳本”面板上有“下一個中斷”按鈕( ),它允許您在下一個執行的JavaScript語句中停止腳本執行。 也可以通過鍵盤快捷鍵Ctrl + Alt + B啟用此功能。
因此,只要動畫處於想要檢查的位置,就可以點擊鍵盤快捷鍵。
打破HTML變異
HTML面板上有一個Break On Mutate按鈕( ),它允許您在下一個HTML突變時停止腳本執行。
還有更細粒度的選項可以阻止特定元素的變異,這些元素在元素的上下文菜單中可用。 這些選項是:
在您的情況下,如果動畫在元素的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.