• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

JS 跳过 debugger 的几种方法

武飞扬头像
爬楼梯的巨人
帮助1

js中通常用debugger关键字来实现无限循环。

js中通常用debugger关键字来实现无限循环。

  1.  
    debugger 语句用于停止执行 JavaScript(以下简称JS),并调用 (如果可用) 调试函数。
  2.  
    使用 debugger 语句类似于在代码中设置断点。

注意: 如果调试工具不可用,则调试语句将无法工作。
也就是说只有在打开调试工具的时候才会触发debugger语句 

方法1:禁用所有断点

学新通

禁用所有的断点,会包含自己的断点也会被禁用掉,暂停了调试。

来一个实例,网址是:https://antispider8.scrape.center/,打开网站进入开发者工具(此处我使用的是谷歌浏览器),发现其立即进入断点模式。

学新通

学新通 

这种方法不太好,禁用了全局断点,就无法对其他地方进行断点调试了。 

方法2:添加到 Ignore List 中

把需要忽略掉的断点被包含的文件,添加到忽略列表中,此时一部分的断点就会被跳过,使用 f5 刷新也不会影响。

鼠标放到 debugger 处,点击右键

学新通

 选择添加到 ignore list ,然后去配置信息,如图:

学新通

方法3:设置 Never pause here

我们在debugger关键字的行号上单击右键,出现下面的选项卡

学新通

 点击 Never pause here 选项意思不会在这里停留,这时候页面变成如下样子

学新通

 这时候会发现在断点变成橙色并且在断点处出现一个?符号,这时再次点击 Resume script execution 会发现页面不在进入无限 debugger 模式了

方法4:Add conditional breakpoint

在上一个方法中,通过点击 Never pause here 来实现的,在选项卡还有一个Add conditional breakpoint 选项,这个选项用来设置进入断点的条件。在本案例中可以直接填入false,效果与上述方法 Never pause here 一致。

学新通

 方法5:重写函数

浏览器调试工具为我们提供了 overrides 这个功能可以实现我们的目的。

学新通

点击加号会出现让我们选择文件夹,用于存储要替换的js文件,这里我选择是Chrome文件夹

学新通

选择后会出现这样一个提示,点击允许即可

学新通

找到debugger所在js文件,

学新通

 代码不易可读,其实调试工具中为我们提供了格式化代码的功能,在其左下角中有一个{}便是格式化按钮。点击完后会在其旁边打开一个带有format文件名的文件

 学新通

复制这个文件的内容到文本编辑器中修改后,再次将修改后的内容复制到不带format的文件中去替换原有文件(带有format的文件是格式化的,不能被修改)并按Ctrl S进行保存,会发现在Chrome文件夹下生文件

 学新通

下面的简写的方式也能实现

找到包含 debugger 的方法,在控制台内重写并替换方法,将其 debugger 去掉。

  1.  
    方法名 = function(){ }
  2.  
  3.  
    function 方法名(){ }

学新通

学新通 

跳过 debugger 复制在调试器中的代码就能流畅执行了,可以自由的执行你的自动脚本 

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhghacci
系列文章
更多 icon
同类精品
更多 icon
继续加载