玩转Chrome开发者工具2022(4/5)

10.调试代码

在源代码面板,勾选"按已编写/已部署"将文件分组 ,便可以看到未压缩的文件,和在编辑器看到的效果类似却不完全一致,以vue2.x的版本为例,我可以看到当前路由对应的文件以及引用的组件,这很大程度避免了通过编辑器插入debugger,然后热更新等流程,不同的构建配置效果会有差异,也一定程度反馈按需加载、动态路由这些是否起了作用。

对于css文件编辑后立即失效,无需保存,但less文件不会。

对于JS脚本,保存后DevTools不会重新运行脚本,所以只能更改函数内部行为

可以通过以下方式格式化代码

可以通过"设置"=>"实验"=>"Automatically pretty print in the Sources Panel" 使得来源面板自动格式化打开的文件

需要重启Chrome开发者工具

点击行号即可设置断点

当代码执行到此处时,便会终止,进入调试状态

再次点击"1"处行号可以使得下次不再触发断点,同时"4"处的记录也会消失,通过'4'处取消勾选也可以使得下次不再触发断点,但记录仍然保存

"2"处的第一个按钮,和"3"处的第一个按钮效果是一样,都可以跳过当前断点,如果后面没有遇到断点,则退出调试界面,快捷键是F8。

不同的是"3"处的第一个按钮长按可以展开,展开后的第二个按钮可以跳过后面所有断点并执行,展开后的第三个按钮可以让脚本不再向后执行,在此处终止。

"2"处的第六个按钮可以禁用所有断点

"2"处的第七个按钮可以让代码在抛出已捕获或未捕获异常的代码行上暂停,如果你还想暂停捕获的异常以及未捕获的异常,可以勾选"在遇到异常时暂停"

"2"处的第二个按钮和"3"处的第二个按钮效果一致,跳过下一个函数调用,快捷键是F10。相对于"3"处的第五个按钮,单步调用,快捷键F9在执行效果上更能够做到一行一行的移动断点。

因为使用F9你不但会进入函数,还会进入很多不再代码逻辑里的文件,当你遇到一个函数,可以选择"3"处的第三个按钮,进入下一个函数调用,快捷键F11,当你浏览的层级过深时,可以选择'3'处的第四个按钮,跳出当前函数,快捷键Shift + F11。

你也可以在行号上右键,选择'继续执行到此处'。

如果不想代码进入到第三方文件,比如vue、lodash,可选择"向忽略列表中添加脚本",可以在设置=>忽略列表中进行管理。

在调试过程中可以在编辑器区域预览变量的值,也可以双击修改

在右侧的作用区域能够统一查看,亦可以修改

可以在控制台直接访问这些变量,想在源码面板上看到控制台可以按esc

也可以在监视区域写一些简单的表达式

还可以右键行号"添加条件断点";只有表达式成立时代码才在此处暂停,'添加日志断点',打印指定的变量,在一些场景中代替console.log

可以通过调用堆栈查看函数的执行顺序,点击可进行切换

可以右键选择"向忽略列表中添加脚本"从而去掉我们不关心的函数调用,这时候会出现"显示已列入忽略列表的帧"

images001-sourcePanelShowIngoreFrame.png

Chrome106可以通过设置=>忽略列表,勾选"自动将已知的第三方脚本添加到忽略列表"

可以通过右键"重启帧"来再次观察函数行为从而无需重新启动整个流程,注意外层作用域链的值不会被重置。

事件监听器断点

即便不知道具体的代码,也可以通过用户行为来触发断点,比如通过"定时器"检测页面是否存在重复执行的逻辑,

有以下二级类别,展开后还有细分,DOM变更、WebAudio、Worker、XHR、剪贴板、加载、动画、地理定位、媒体、定时器、广告竞价Worklet、拖/放、指针、控制、画中画、画布、窗口、脚本、解析、设备、轻触、通知、键盘、鼠标。

在元素面板中,可以为指定的元素增加断点

代码片段

新建代码片段

然后Ctrl + p,输入"!"就可以选择要运行的代码片段了。

它们可以访问页面的 JavaScript 上下文,您可以在任何页面上运行它们。

11.网络面板

网络面板更多的是确保资源按照预期上传或下载,大多数性能问题与网络活动无关

第一个

录制按钮

此按钮在激活状态才会录制请求,另外网页加载完才打开开发者工具,也不会看到之前的请求

第二个

清除按钮

可以清除现有的网络记录

第三个

过滤按钮

激活后界面会多出一行

过滤文本框支持多种类型过滤,列如输入jpg则会只显示jpg类型的图像文件。输入-jpg则是过滤掉jpg文件本身,相当于勾选的"反转"按钮。 也可以输入正则表达式。

还支持以下形式

  • cookie-domain. 显示设置特定cookie 域的资源。
  • cookie-name. 显示设置特定cookie 名称的资源。
  • cookie-path. 显示设置特定cookie 路径的资源。
  • cookie-value. 显示设置特定cookie 值的资源。
  • domain. 仅显示来自指定域的资源。您可以使用通配符 ( ) 来包含多个域。例如,.com显示来自所有以 . 结尾的域- 名的资源.com。DevTools 显示了一个使用它遇到的所有域填充自动完成下拉菜单。
  • has-response-header. 显示包含指定 HTTP 响应标头的资- 源。DevTools 使用它遇到的所有响应标头填充自动完成下拉列表。
  • is. 用于is:running查找WebSocket资源。
  • larger-than. 显示大于指定大小的资源,以字节为单位。设置 的值1000相当于设置 的值1k。
    method. 显示通过指定 HTTP 方法类型检索的资源。DevTools 使用它遇到的所有 HTTP 方法填充自动完成下拉列表。
  • mime-type. 显示指定 MIME 类型的资源。DevTools 使用它遇到的所有 MIME 类型填充自动完成下拉列表。
  • mixed-content. 显示所有混合内容资源 ( - mixed-content:all) 或仅显示当前显示的资源 ( mixed-content:displayed)。
  • priority. 显示优先级与指定值匹配的资源。
  • resource-type. 显示资源类型的资源,例如图像。DevTools 使用它遇到的所有资源类型填充自动完成下拉列表。
  • scheme. scheme:http显示通过不受保护的 HTTP ( ) 或受保护的 HTTPS ( )检索到的资源scheme:https。
  • set-cookie-domain. 显示具有与指定值匹配的属性的Set-Cookie标头的资源。DomainDevTools 使用它遇到的所有 cookie 域填充自动完成。
  • set-cookie-name. 显示Set-Cookie名称与指定值匹配的标头的资源。DevTools 使用它遇到的所有 cookie 名称填充自动完成。
  • set-cookie-value. 显示具有Set-Cookie与指定值匹配的标头的资源。DevTools 使用它遇到的所有 cookie 值填充自动完成。
  • status-code. 仅显示其 HTTP 状态代码与指定代码匹配的资源。DevTools 使用它遇到的所有状态代码填充自动完成下拉菜单。
  • url. 显示与url指定值匹配的资源。

通过用空格分隔每个属性来同时使用多个属性。使用方式如下:

"隐藏数据网址",比如"data:"的文件

文件类型过滤模式默认会选中'全部',单击可切换其它类型,可以按住Ctrl进行多选,ws即websocket

第四个

搜素按钮,点击左侧会多出一个区域,对于判断页面展示数据的来源,定位代码出处文件等很有帮助

第五个

保留日志

勾选后刷新页面,网络面板不会清除上一次的记录

第六个

前端开发常会勾选,可以最大程度保证看到的页面数据是最新的,而非源于各种缓存。

第七个

可以模拟网速,甚至没有网络的状态,例如模拟页面在移动设备的访问速度,注意此设置会影响"手机模式"

注意当你选择了离线模式,会出现特殊的图标

还有 59% 的精彩内容
©著作权归作者所有,转载或内容合作请联系作者
支付 ¥3.00 继续阅读
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容