JS跳過debugger的幾種方法小結(jié)
js中通常用debugger關(guān)鍵字來實(shí)現(xiàn)無限循環(huán)。
debugger 語句用于停止執(zhí)行 JavaScript(以下簡稱JS),并調(diào)用 (如果可用) 調(diào)試函數(shù)。
使用 debugger 語句類似于在代碼中設(shè)置斷點(diǎn)。
注意: 如果調(diào)試工具不可用,則調(diào)試語句將無法工作。也就是說只有在打開調(diào)試工具的時(shí)候才會(huì)觸發(fā)debugger語句
方法1:禁用所有斷點(diǎn)
禁用所有的斷點(diǎn),會(huì)包含自己的斷點(diǎn)也會(huì)被禁用掉,暫停了調(diào)試。
來一個(gè)實(shí)例,網(wǎng)址是:https://antispider8.scrape.center/,打開網(wǎng)站進(jìn)入開發(fā)者工具(此處我使用的是谷歌瀏覽器),發(fā)現(xiàn)其立即進(jìn)入斷點(diǎn)模式。
這種方法不太好,禁用了全局?jǐn)帱c(diǎn),就無法對其他地方進(jìn)行斷點(diǎn)調(diào)試了。
方法2:添加到 Ignore List 中
把需要忽略掉的斷點(diǎn)被包含的文件,添加到忽略列表中,此時(shí)一部分的斷點(diǎn)就會(huì)被跳過,使用 f5 刷新也不會(huì)影響。
鼠標(biāo)放到 debugger 處,點(diǎn)擊右鍵
選擇添加到 ignore list ,然后去配置信息,如圖:
方法3:設(shè)置 Never pause here
我們在debugger關(guān)鍵字的行號上單擊右鍵,出現(xiàn)下面的選項(xiàng)卡
點(diǎn)擊 Never pause here 選項(xiàng)意思不會(huì)在這里停留,這時(shí)候頁面變成如下樣子
這時(shí)候會(huì)發(fā)現(xiàn)在斷點(diǎn)變成橙色并且在斷點(diǎn)處出現(xiàn)一個(gè)?符號,這時(shí)再次點(diǎn)擊 Resume script execution 會(huì)發(fā)現(xiàn)頁面不在進(jìn)入無限 debugger 模式了
方法4:Add conditional breakpoint
在上一個(gè)方法中,通過點(diǎn)擊 Never pause here 來實(shí)現(xiàn)的,在選項(xiàng)卡還有一個(gè)Add conditional breakpoint 選項(xiàng),這個(gè)選項(xiàng)用來設(shè)置進(jìn)入斷點(diǎn)的條件。在本案例中可以直接填入false,效果與上述方法 Never pause here 一致。
方法5:重寫函數(shù)
瀏覽器調(diào)試工具為我們提供了 overrides 這個(gè)功能可以實(shí)現(xiàn)我們的目的。
點(diǎn)擊加號會(huì)出現(xiàn)讓我們選擇文件夾,用于存儲(chǔ)要替換的js文件,這里我選擇是Chrome文件夾
選擇后會(huì)出現(xiàn)這樣一個(gè)提示,點(diǎn)擊允許即可
找到debugger所在js文件,
代碼不易可讀,其實(shí)調(diào)試工具中為我們提供了格式化代碼的功能,在其左下角中有一個(gè){}便是格式化按鈕。點(diǎn)擊完后會(huì)在其旁邊打開一個(gè)帶有format文件名的文件
復(fù)制這個(gè)文件的內(nèi)容到文本編輯器中修改后,再次將修改后的內(nèi)容復(fù)制到不帶format的文件中去替換原有文件(帶有format的文件是格式化的,不能被修改)并按Ctrl+S進(jìn)行保存,會(huì)發(fā)現(xiàn)在Chrome文件夾下生文件
下面的簡寫的方式也能實(shí)現(xiàn)
找到包含 debugger 的方法,在控制臺(tái)內(nèi)重寫并替換方法,將其 debugger 去掉。
方法名 = function(){ } 或 function 方法名(){ }
跳過 debugger 復(fù)制在調(diào)試器中的代碼就能流暢執(zhí)行了,可以自由的執(zhí)行你的自動(dòng)腳本
到此這篇關(guān)于JS跳過debugger的幾種方法小結(jié)的文章就介紹到這了,更多相關(guān)JS跳過debugger內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JS實(shí)現(xiàn)圖片點(diǎn)擊后出現(xiàn)模態(tài)框效果
這篇文章主要介紹了JS實(shí)現(xiàn)圖片點(diǎn)擊后出現(xiàn)模態(tài)框效果,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-05-05JavaScript中各種編碼解碼函數(shù)的區(qū)別和注意事項(xiàng)
JavaScript 中encodeURI,encodeURIComponent與escape的區(qū)別和注2010-08-08js插件設(shè)置innerHTML時(shí)在IE8下提示“未知運(yùn)行時(shí)錯(cuò)誤”解決方法
這篇文章主要介紹了js插件設(shè)置innerHTML時(shí)在IE8下提示“未知運(yùn)行時(shí)錯(cuò)誤”解決方法,較為詳細(xì)的分析了錯(cuò)誤的原因及對應(yīng)的解決方法,需要的朋友可以參考下2015-04-04JavaScript、jQuery與Ajax的關(guān)系
這篇文章主要介紹了 JavaScript、jQuery與Ajax的關(guān)系的相關(guān)資料,需要的朋友可以參考下2016-01-01js實(shí)現(xiàn)卡片式項(xiàng)目管理界面UI設(shè)計(jì)效果
這篇文章主要介紹了js實(shí)現(xiàn)卡片式項(xiàng)目管理界面UI設(shè)計(jì)效果,該UI設(shè)計(jì)中,將各個(gè)項(xiàng)目以卡片的方式堆疊排列在屏幕上,當(dāng)點(diǎn)擊了其中的某個(gè)項(xiàng)目的時(shí)候,該項(xiàng)目圖片會(huì)全屏放大,向下滾動(dòng)鼠標(biāo)可以看到該項(xiàng)目的介紹信息,需要的朋友可以參考下2015-12-12uniapp小程序項(xiàng)目獲取位置經(jīng)緯度信息
在實(shí)際項(xiàng)目中很多時(shí)候我們需要獲取設(shè)備的位置信息,去展示給客戶,或者以位置信息為參數(shù),繼續(xù)向服務(wù)器獲取一些數(shù)據(jù),這篇文章主要介紹了uni-app如何獲取位置信息(經(jīng)緯度),需要的朋友可以參考下2022-11-11微信小程序自定義navigationBar頂部導(dǎo)航欄適配所有機(jī)型(附完整案例)
這篇文章主要介紹了微信小程序自定義navigationBar頂部導(dǎo)航欄適配所有機(jī)型(附完整案例),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04javascript對select標(biāo)簽的控制(option選項(xiàng)/select)
html中的select標(biāo)簽,也是asp.net中的asp:DropDownList控件,接下來介紹javascript對select標(biāo)簽的控制,感興趣的朋友可以了解下,或許本文對你有所幫助2013-01-01