Blackbox 提高JavaScript调试效率


所有人前端开发人员都会遇到的问题,您的应用程序代码中会出现错误。您开始调试,但是逐行执行代码时,调试器有时会跳转到不是您的焦点的源文件(例如第三方JS库)。我相信你在回到自己的应用程序代码之前,经历了很多烦恼。

Blackboxing(黑箱)为您提供了便利,以便调试器可以绕过一个第三方JS库。当您黑箱一个源文件时,调试时代码,调试器将不会跳转到该文件(黑箱中的文件)。

1. 当你黑箱子一个脚本,会发生什么
  • 进入/退出/过渡绕过库代码
  • 事件侦听器断点不会破坏库代码
  • 调试器不会暂停在库代码中设置的任何断点。
    总之当黑箱一个脚本时,能让你更加方便的专注调试当前脚本
2. 如何黑箱脚本
  • 使用settings(设置) – 选中Blackboxing
  • 当对应代码文件的标注行数位置点击Blackbox script

设置面板
打开DevTools设置,点击右上

这将打开一个对话框,您可以在其中输入要添加到黑名单的脚本的文件名。你可以通过几种方法来做到这一点:

  • 输入文件的名称,

  • 使用正则表达式来定位:
  • 包含特定名称的文件/jquery.js$

  • 某些类型的文件像 .min.js$

  • 列表内容 列表内容或者输入包含您想要的黑盒子的脚本的整个文件夹bower_components。

对应文件

查看文件时,您可以在编辑器中右键单击行数的位置。从那里选择Blackbox脚本。这将会将文件添加到“设置”面板中的列表中。

当您在“编辑器”面板上的“编辑器”中查看一个黑盒子的脚本时,您将看到一个黄色条,表示它已被黑框。点击更多展开栏可以显示更多关于它意味着什么的信息,以及如何禁用它。

3. 黑箱脚本前后对比

不黑箱jquery.js脚本
-

当添加Even Listener Breakpoints的一个click

点击页面上的button1按钮

在sources中定位到的断点并不是button1的注册click事件位置,而是定位到了jquery.js

黑箱jquery.js脚本

黑化jquery.js脚本,重复上面步骤,定位到的就是对应button1注册click事件位置

原文地址  http://blog.csdn.net/qq_31619295/article/details/74782487

chrome DevTools之黑箱大法(Blackbox ) 黑箱化源代码的更多相关文章

  1. Chrome DevTools 面板全攻略

    李华西,微医云服务团队前端开发工程师,喜欢瞎折腾,典型猫奴 Console 面板 此章节请打开 devtools/console/console.html 一起食用 一方面用来记录页面在执行过程中的信 ...

  2. Chrome DevTools学习笔记

    ---恢复内容开始--- chrome和firefox的开发者工具大同小异,都非常强大.今天在博客园上看了这篇文章(http://www.cnblogs.com/Wayou/p/chrome-cons ...

  3. 20个Chrome DevTools调试技巧

    译者按: Chrome DevTools很强大,甚至可以替代IDE了! 原文: Art of debugging with Chrome DevTools 译者: Fundebug 为了保证可读性,本 ...

  4. Chrome DevTools 的 Sources 调试

    在 Chrome 中调试 JS 代码,那你不得不与 Chrome DevTools 的 Sources 面板打交道,所以文章主要通过介绍 Sources 面板上的各部分功能来介绍如何调试网页中的 JS ...

  5. Chrome DevTools的15个使用技巧(译)

    谷歌浏览器如今是Web开发者们所使用的最流行的网页浏览器.伴随每六个星期一次的发布周期和不断扩大的强大的开发功能,Chrome变成了一个必须掌握的工具.大多数前端开发者可能熟悉关于chorme的许多特 ...

  6. [转]Tips——Chrome DevTools - 25 Tips and Tricks

    Chrome DevTools - 25 Tips and Tricks 原文地址:https://www.keycdn.com/blog/chrome-devtools 如何打开? 1.从浏览器菜单 ...

  7. Chrome DevTools – 键盘和UI快捷键参考

    Chrome DevTools有几个内置的快捷键,可以节省你的日常工作的时间. 本指南提供了Chrome DevTools中每个快捷键的快速参考.虽然一些快捷方式在全局范围内可用,但其他的快捷方式用于 ...

  8. Chrome Devtools简介

    Chrome开发工具(又称DevTools),是一套内嵌在chrome浏览器内部的web编写和调试工具.DevTools提供给web开发人员深入地访问浏览器内部和web应用的机会.DevTools可以 ...

  9. Chrome DevTools good good study day day up

    Chrome DevTools 官方页面 https://developer.chrome.com/devtools

随机推荐

  1. HttpServlet Service方法

    service() 方法是执行实际任务的主要方法.Servlet 容器(即 Web 服务器)调用 service() 方法来处理来自客户端(浏览器)的请求,并把格式化的响应写回给客户端. 每次服务器接 ...

  2. [ 转载 ] Http详解2

    HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统 | |目录 1引言 2一.HTTP协议详解之URL篇 3二.HTTP协议详解之请求篇 4三.HTTP协议详 ...

  3. linux安装project lemon测评机

    (写下备用) 机子:xubuntu 16.04 LTS 1.下载lemon github地址:https://github.com/Sojiv/Project_lemon 这里download zip ...

  4. python3 开发面试题(面向对象)6.6

    """ 封装.继承.多态 1. 谈谈你对面向对象的理解? 2. Python面向对象中的继承有什么特点? 3. 面向对象深度优先和广度优先是什么? 4. 面向对象中sup ...

  5. bzoj 2809 可并堆维护子树信息

    对于每个节点,要在其子树中选尽量多的节点,并且节点的权值和小于一个定值. 建立大根堆,每个节点从儿子节点合并,并弹出最大值直到和满足要求. /***************************** ...

  6. springmvc.xml 上传文件的配置

    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.Comm ...

  7. spring集成kafka

    一.添加依赖项 compile 'org.springframework.kafka:spring-kafka:1.2.2.RELEASE' 二.发消息(生产者) 2.1 xml配置 <?xml ...

  8. 一个.net程序客户端更新方案

    客户端程序一个很大的不便的地方就是程序集更新,本文这里简单的介绍一种通用的客户端更新方案.这个方案依赖程序集的动态加载,具体方案如下: 将程序集存储在一个文件数据库中,客户端所有程序集直接从文件数据库 ...

  9. 找不到包含 OwinStartupAttribute 的程序集

    配置一个 MVC 项目时 遇到的  vs 2013 解决办法:在 webconfig 中 <appSettings> <add key="owin:AutomaticApp ...

  10. TF400511: Your team has not defined any iterations to use as sprints

    tfs里面的冲刺对于开发团队来说, 是非常重要的一个功能,是团队开发进度的晴雨表: 但是如果从此死活出不来,怎么办呢? TF400511:您的团队尚未定义任何要用作冲刺 (sprint) 的迭代 TF ...