代码难免会有Bug,每次我们在Chrome调试代码时,总是会进入各种各样的库代码(比如jQuery、Zepto),但实际上很多时候我们并不希望这样,要是能把这些库代码“拉黑”多好啊。

广大码农喜闻乐见的事情,隔壁家火狐已经实现了的功能,而且也有人给Chromium提了Issue-407024。自然Chrome最终也提供了这个功能–BlackboxBlackbox允许屏蔽指定的JS文件,这样调试的时候就会绕过它们了。

屏蔽文件后会怎么样

  • 库代码(被屏蔽的文件)里抛出异常时不会暂停(当设置为Pause on exceptions时)
  • 调试时Stepping into/out/over都会忽略库代码
  • 事件断点也会忽略库代码
  • 库代码里设置的任何断点也不会起作用
    最终的结果就是只会调试应用代码而忽略第三方代码(配置了Blackbox的代码)。

怎样屏蔽文件

有两个途径可以屏蔽JS文件:

1、开发人员工具的Settings面板

在设置面板可以配置屏蔽文件列表。

打开开发人员工具的配置面板,在Sources下点击Manage framework blackboxing,打开新窗口后,有如下集中方式配置:

  • 输入文件名称
  • 用正则表达式匹配
    • 包含特定名称的文件,比如/backbone\.js$
    • 特定类型的文件,比如\.min\.js$
  • 输入整个文件夹,比如bower_components

另外,需要暂时不屏蔽某个规则时,可以将Behavior改为Disable。或者也可以直接删除(光标移到某行规则后会有个X)。
Blackbox content scripts是指屏蔽Chrome插件注入页面的脚本(新版Chrome增加的功能,笔者用的39)。

2、在Sources面板上右键某个文件

Sources面板目录里,或者编辑器里,右键点击“Blackbox Script”,可以将屏蔽该文件,同时也会增加到Setting面板中的匹配规则里。

屏蔽某个文件后,会在编辑器里看到黄色的提示信息,点开More,有功能说明,直接点击“Unblackbox this script”,也能方便的取消屏蔽(这样会在匹配规则里直接删除,而不是Disable掉)

注意:如果项目对JS文件做了MD5重命名的话,建议在Setting面板用正则设置匹配规则。

调试时,在调用堆栈时可以看到已经屏蔽的文件数量,默认是隐藏具体文件信息的,当然也可以点击Show展开显示完整。

调试时屏蔽JavaScript库代码 –Chrome DevTools Blackbox功能介绍的更多相关文章

  1. [MSDN] 使用 SharePoint 2013 中的 JavaScript 库代码完成基本操作

    MSDN:http://msdn.microsoft.com/zh-cn/library/jj163201.aspx 了解如何编写代码以在 SharePoint 2013 中使用 JavaScript ...

  2. Chrome DevTools 代码覆盖率功能详解

    共 1812 字,读完需 3 分钟.工欲善其事必先利其器,前端周刊本周起每周会加餐 1 篇工具技巧,里面辅以动图,让大家看完就能学会,并上手使用.本文会介绍 Chrome Canary 新增的代码覆盖 ...

  3. Chrome DevTools 调研笔记

    1  说明 此篇文章针对Chrome DevTools常用功能进行调研分析.描述了每个功能点能实现的功能.应用场景和详细操作. 2  Elements 2.1  功能 检查和实时更新页面的HTML与C ...

  4. Chrome DevTools的使用

    一.Chrome DevTools 简介 Chrome 开发者工具是一套内置于Google Chrome中的Web开发和调试工具,可用来对网站进行迭代.调试和分析 手册:Chrome 开发者工具中文手 ...

  5. 第一百二十九节,JavaScript,理解JavaScript库

    JavaScript,理解JavaScript库 学习要点: 1.项目介绍 2.理解JavaScript库 3.创建基础库 从本章,我们来用之前的基础知识来写一个项目,用以巩固之前所学.那么,每个项目 ...

  6. .net使用cefsharp开源库开发chrome

    .net使用cefsharp开源库开发chrome 离上篇写介绍pc端的混合开发和为什么以cefsharp入手研究混合开发已经有好几天,一直忙,抽不出时间继续写怎么搭建cefsharp开发环境.其实没 ...

  7. 在 Chrome DevTools 中调试 JavaScript 入门

    第 1 步:重现错误 找到一系列可一致重现错误的操作始终是调试的第一步. 点击 Open Demo. 演示页面随即在新标签中打开. OPEN DEMO 在 Number 1 文本框中输入 5. 在 N ...

  8. 20个Chrome DevTools调试技巧

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

  9. Chrome DevTools 的 Sources 调试

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

随机推荐

  1. Android网络通信库Volley简介

    1. 什么是Volley 在这之前,我们在程序中需要和网络通信的时候,大体使用的东西莫过于AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient( ...

  2. JavaScript 类

    一.基础 //定义obj类 var obj = function(){ //声明v1成员 var v1 = ''; //声明get_v1方法,用this关键字定义 this.get_v1 = func ...

  3. Good Sentences

    Wine in, truth out One is never too old to learn What is done can not be undone Time tries all thing ...

  4. 可以获取客户端ip的API

    http://www.ip138.com/ip2city.asp http://www.bliao.com/ip.phtml http://www.whereismyip.com/ http://ww ...

  5. 蓝桥杯---数独(模拟 || dfs)

    [编程题](满分33分) "数独"是当下炙手可热的智力游戏.一般认为它的起源是"拉丁方块",是大数 学家欧拉于1783年发明的. 如图[1.jpg]所示:6x6 ...

  6. 第二章 I - The 3n + 1 problem(2.4.2)

    这是一道很坑爹的题,一定注意输入的两个数的大小,并且不能简单的交换,因为在最后的输出的时候还需要将原来的数按照原来的顺序和大小,这就是为什么还得开辟两个值得原因 Description Problem ...

  7. js中字符串的截取

    当需要从一组数据中移除到符合条件的某一个数据的时候,在这种情况下如何进行截取呢? 基本思路: ①将其通过特定的符号,将一组字符串进行拼接,或者用","或者用"+" ...

  8. NHibernate 中使用 nvarchar(max) 类型

    在 NHibernate 中使用字符串类型,默认会映射到字符类型,在 SQLServer 中,NVARCHAR 类型最大长度是 4000 字符,如果超过 4000,比如使用 SQL Server 中的 ...

  9. Android API 中文 ListView

    正文 一.结构 public class RatingBar extends AbsSeekBar java.lang.Object android.view.View android.view.Vi ...

  10. xcode7.3 升级 xcode8.0 后权限设置问题(升级xcode 8.0 后构建版本不显示问题)

    xcode7.3 升级 xcode8.0 后权限设置问题(升级xcode 8.0 后构建版本不显示问题) 前两天为了适配 iOS10 的系统 我将xcode 7.3 升级到了 xcode 8.0 但是 ...