首页/文章/前端性能

唠唠 Chrome DevTools 中最新的实用技巧

2024-05-13
20827 分钟
...

以下的内容基于 Chrome 浏览器 122.0.6261.112 版本撰写!

随着 Chrome 浏览器版本的不断迭代,Chrome DevTools 引入了不少实用的功能,其中有些功能对日常工作效率提升是十分明显的,在此,我本来想具体写写自己的使用体验和理解。

不过,我所使用过的功能,结合自己看过的文章资讯,基本上能找到更详实、更完善的内容介绍,因此,这篇文章,我更多是基于使用到的技巧,然后罗列出对应功能的文章链接出处,帮助大家有更完备的阅读体验。

ok,现在开始!

实用技巧

Network 面板:直接通过修改响应头解决资源请求跨域问题

在打开 DevTools 的情况下,我们可以直接通过 Network 面板中 Override 本地替换功能,直接通过修改响应头解决资源请求跨域问题,相比较于使用代理,这种操作更加直接迅速,我们也多收获了一种跨域问题的解决方案。

除此之外,我们还能对接口的响应体进行覆盖重写,起到 Mock 作用。

Override 功能的使用,详细可查看如下 2 篇文章:

Sources 面板:更好区分项目源代码和编译的代码

Sources 面板中启用 Group by Authored/Deployed 设置可先查看原始源代码(已编写),这样我们可以更好区分项目源代码和编译的代码,并且还能更快地导航到源代码。

详细可查看文章:使用源代码映射进行调试

Elements/Rendering 面板:解决 dropdown 类的 DOM 元素难以调试问题

在日常开发中,当将焦点从当前页面切换到开发者工具时,某些叠加层元素(UI 组件库中一般是 dropdown 相关的 DOM 元素)在焦点触发时会自动隐藏。例如,下拉列表、菜单或日期选择器。

此时如果我们要调试这些叠加层元素,可以尝试2种方式,一种是配合 Elements/Rendering 面板,选中对应的 DOM 元素然后开启 Emulate a focused page 功能:

2024年04月17号20:25更新:如果你的 Chrome 浏览器更新到最新的 123.0.6312.123 版本,那么,Emulate a focused page 功能还可以在如下位置开启:

详细可查看文章:模拟聚焦的网页

除此之外,其实还可以使用 debugger 就可以实现:

更多内容详看我的另 1 篇文章:【翻译】浏览器不想让你知道的67个怪异调试技巧-检查难以捉摸的元素

Elements/Sources 面板:进阶断点操作调试程序代码

日常工作中,可能大部分人使用最多的是设置代码行进行断点,不过,在不知道在哪里查找,或者使用的是大型代码库(比如调试大型开源前端项目)时,设置代码行断点的方式可能效率低下。

因此,知晓如何及何时能够使用其他类型的断点后,调试才能更加得心应手,效率更高效。

详细可查看文章:使用断点暂停代码

Recorder 面板:自动化操作流程的利器

试想这样一个场景,我们在开发测试一个长表单网页,当我们输入了 20 个表单项后,突然出现 Bug 了,然后我们回到源代码中去修复了这个 Bug,保存代码后,因为网页重加载或者热更新了,先前输入的 20 个表单项的内容又重置回初始状态值了,我们需要重新输入才能接着后续的调试。

如果此过程遇到多个 Bug 的话,那么这些重复的输入过程会浪费我们不少时间。

通过 Recorder 面板,我们可以把该重复键入表单项的过程录制下来,保存为一段用户流,然后每次需要测试时,回放该段用户流,而如果表单项输入过程中遇到 Bug,我们可以回到对应的录制片段,排查解决问题即可。

我们通过 Recorder 面板实现了自动化键入表单项的操作流程,大大减少了重复录入的测试时间。

Recorder 面板功能还是比较强大的,更多内容,详看:录制、重放和衡量用户流

Rendering 面板:直观感受页面回流(或重排)和重绘

以往我们更多是从概念上学习了解页面的回流(或重排)和重绘,不过 Rendering 面板提供了 2 个功能选项,能够让我们更直观地感受到页面回流和重绘。

下边演示下,如果我们需要查看页面重绘的区域,打开 Rendering 面板,然后选中 Paint flashing(渲染闪烁)即可:

如果我们需要查看页面重排的区域,打开 Rendering 面板,然后选中 Layout Shift Regions(布局偏移区域)即可:

涉及 Redering 面板回流重绘的内容,详看:发现呈现性能方面的问题

Sources 面板:使用 JavaScript Snippets

我们可以通过 Sources 面板添加 snippets(代码段)存储些需要经常在浏览器 Console 面板中测试的代码,然后在需要运行的地方(开启 DevTools 的情况下),敲击 ctrl + p 后,键入 ! 后选择对应的 snippet 执行即可,下边简单演示下:

首先在 Sources 面板中找到 Snippets 位置:

然后通过 New snippet 创建了一个代码段,文件名为 createEl.js,内容如下图:

切换到 Elements 面板,敲击 ctrl + p 后,键入 ! 后选择该 createEl.js 执行即可:

更多内容详看:运行 JavaScript 代码段

总结

可以看到,上边所有的文章链接基本上都来自 Chrome Developer 官方文档 - DevTools,该文档中有很多实用的功能讲解,而且内容还是比较详实的,感兴趣的可以再去翻阅学习下。

这篇文章更多是对自己用过的功能,而且自己觉得不错的,做下罗列汇总,同时也是做下 Mark,方便自己后续继续更新用到的技巧。

希望上边提到的技巧,能够或多或少帮助到你,祝你早点下班!

Happy Coding!

如果您觉得这篇文章有帮助,请点个赞吧~

分享文章

相关文章

更多文章 →
前端性能2026-05-16
个人qwik项目优化
前言 最近把自己的 做了一轮比较彻底的性能与稳定性优化,核心目标不是“再堆几个小技巧”,而是把内容系统、文章详情链路和埋点链路重新梳顺,让它们更符合一句话: 能在构建阶段做完的事,就不要留到运行时反复做;能在服务端算好的数据,就不要再把原始材料丢给客户端自己算。 这一轮改造主要解决了 5 个问题: 1. 文章索引依然依赖运行时扫描 Markdown,重复做了构建阶段本可以完成的工作。 2. 文章详情页把原始 Markdown 一起带给前...
学习
前端性能2025-08-07
JS篇之性能优化
很多时候面试官,面试你的时候会问你:同学你在项目中做过哪些性能优化呢? 可能你是这样回答的: 1. 无用代码的删除,减小代码打的体积 2. 使用cdn加速 3. 图片压缩 4. 分包 5. 骨架屏 ........ 其实性能优化是个很宽泛的东西,可以从多方面进行入手 性能优化不是视觉体验打分,网上部分评判如下 | 核心指标 | 定义 | 优化方向 | | | | | | LCP(最大内容绘制) | 首屏最大内容加载完成时间 | 图片压缩...
学习面试
前端性能2025-08-03
前端PerformanceObserver
是 Web Performance API 的一部分,它提供了一种异步、高效地收集浏览器性能指标的方式。与传统的 或 方法不同, 允许你订阅特定类型的性能事件,并在这些事件发生时获得通知,而不是在某个时间点一次性获取所有已发生的事件。这对于实时监控和报告性能数据非常有用,尤其是在单页应用 (SPA) 中,因为页面加载后的用户交互也会产生新的性能事件。 的作用 主要用于: 1. 监控页面加载性能: 获取导航时间、资源加载时间等。 2. 跟...
学习
前端性能2025-07-27
前端常见的性能指标采集
前言 作为前端,我们的任务便是给用户一个好的产品体验感,不管是从首次进入页面的加载时长,还是对于交互时页面的响应流畅度,都是我们应该关注的点。 RAIL模型是由谷歌提出的,一种以用户为中心的性能模型,RAIL分别代表Web应用生命周期的四个方面:响应、动画、空闲、加载。 一般不管是页面打开还是流程交互,又或者是网络反馈,这也操作我们应该尽量在1000ms内完成,用户的体验感才不会差,用户留存率也将得到提升。 下面看一下我们常见的一些性能...
学习面试
前端性能2025-01-08
前端性能报告
数据说明 本报告的大部分内容均基于 Chrome 用户体验报告 ( ) 中的真实用户数据。 Chrome 用户体验报告(CrUX)反映了真实世界中 用户在热门网站上的体验,是 项目的官方数据集,展示了所有用户中心的核心 指标。 数据基于全球真实浏览器用户收集,并通过多种 和第三方工具公开提供,用于 搜索的页面体验排名因素。并非所有原点或页面都在数据集中,需公开可发现且访客数量足够多以达统计显著性。 核心网页指标(Core Web Vit...
学习
前端性能2024-05-28
Performance的使用攻略
Performance是Chrome浏览器自带的性能监测工具。根据我的使用,简单理解就是我们可以通过它录制一段时间的浏览器活动,通过活动的数据去分析页面是否存在提升的空间。想要获取页面的活动数据,那我们的第一步便是录制浏览器的活动。 打开F12,进入Perfomance标签页,我们可以看到出现了提示。我们不想看这个文本在说什么,我们只想马上开始用(不是),由于我已经百度翻译过了(不是,看过了),所以文本提示是在说箭头所指的地方,实心圆代...
学习

评论

请登录后发表评论

去登录
加载评论中...

目录