Redian新闻
>
11+ chrome 高级调试技巧,学会效率直接提升 666%

11+ chrome 高级调试技巧,学会效率直接提升 666%

公众号新闻
前言

chrome浏览器作为前端童鞋的老婆,相信你一定不陌生。调页面写BUG画样式看php片少了它整个世界都不香了。

不信?一起来看看我们的老婆有多厉害....

1#. 一键重新发起请求

在与后端接口联调或排查线上BUG时,你是不是也经常听到他们说这句话:你再发起一次请求试试,我这边看下为啥出错了!

重发请求,这有一种简单到发指的方式。

  1. 选中Network
  2. 点击Fetch/XHR
  3. 选择要重新发送的请求
  4. 右键选择Replay XHR

不用刷新页面,不用走页面交互,是不是非常爽!!!

2#. 在控制台快速发起请求

还是联调或修BUG的场景,针对同样的请求,有时候需要修改入参重新发起,有啥快捷方式?

  1. 选中Network
  2. 点击Fetch/XHR
  3. 选择Copy as fetch
  4. 控制台粘贴代码
  5. 修改参数,回车搞定

曾经我总是通过改代码或者手写fetch的方式处理,想想真是太傻了...

3#. 复制JavaScript变量

假如你的代码经过计算会输出一个复杂的对象,且需要被复制下来发送给其他人,怎么办?

  1. 使用copy函数,将对象作为入参执行即可

以前我总是通过JSON.stringify(fetfishObj, null, 2)打印到控制台,再手动复制粘贴,这效率实在是太低了...

4#. 控制台获取Elements面板选中的元素

调试网页时通过Elements面板选中元素后,如果想通过JS知道它的一些属性,如位置等怎么办呢?

  1. 通过Elements选择要调试的元素
  2. 控制台直接用$0访问

5#. 截取一张全屏的网页

偶尔咱们也会有对网页截屏的需求,一屏还好,系统自带的截屏或者微信截图等都可以办到,但是要求将超出一屏的内容也截下来咋办呢

  1. 准备好需要截屏的内容
  2. cmd + shift + p 执行Command命令
  3. 输入Capture full size screenshot 按下回车

如果要截取选中的部分元素呢?

答案也很简单,第三步输入Capture node screenshot即可

6#. 一键展开所有DOM元素

调试元素时,在层级比较深的情况下,你是不是也经常一个个展开去调试?有一种更加快捷的方式

  1. 按住opt键 + click(需要展开的最外层元素)

7#. 控制台引用上一次执行的结果

来看看这个场景,我猜你也一定遇到过, 对某个字符串进行了各种工序,然后我们想知道每一步执行的结果,该咋办?。

'fatfish'.split('').reverse().join(''// hsiftaf

你可能会这样做

// 第1步
'fatfish'.split(''// ['f', 'a', 't', 'f', 'i', 's', 'h']
// 第2步
['f''a''t''f''i''s''h'].reverse() // ['h', 's', 'i', 'f', 't', 'a', 'f']
// 第3步
['h''s''i''f''t''a''f'].join(''// hsiftaf

更简单的方式

使用$_引用上一次操作的结果,不用每次都复制一遍

// 第1步
'fatfish'.split(''// ['f', 'a', 't', 'f', 'i', 's', 'h']
// 第2步
$_.reverse() // ['h', 's', 'i', 'f', 't', 'a', 'f']
// 第3步
$_.join(''// hsiftaf

8.# 快速切换主题

有的同学喜欢chrome的白色主题,有的喜欢黑色,我们可以使用快捷键迅速切换两个主题。

  1. cmd + shift + p 执行Command命令
  2. 输入Switch to dark theme或者Switch to light theme进行主题切换

9.# "$"和"$$"选择器

在控制台使用document.querySelectordocument.querySelectorAll选择当前页面的元素是最常见的需求了,不过着实有点太长了,咱们可以使用$$$替代。

10. #$i直接在控制台安装npm包

你遇到过这个场景吗?有时候想使用比如dayjs或者lodash的某个API,但是又不想去官网查,如果可以在控制台直接试出来就好了。

Console Importer 就是这么一个插件,用来在控制台直接安装npm包。

  1. 安装Console Importer插件
  2. $i('name')安装npm包

11.# Add conditional breakpoint条件断点的妙用

假设有下面这段代码,咱们希望食物名字是🍫时才触发断点,可以怎么弄?

const foods = [
  {
    name'🍔',
    price10
  },
  {
    name'🍫',
    price15
  },
  {
    name'🍵',
    price20
  },
]

foods.forEach((v) => {
  console.log(v.name, v.price)
})

这在大量数据下,只想对符合条件时打断点条件将会非常方便。试想如果没有条件断点咱们是不是要点n次debugger?

- EOF -




推荐阅读  点击标题可跳转

0、极客专属:几十款程序员秒懂的卫衣

1、没有几十年功力,写不出这一行“看似无用”的代码!!

2、Linus 已决定将 Rust 语言加入 Linux 内核

3、虾皮光速大裁员!上个厕所的功夫,瞬间查无此人...


关注「程序员的那些事」加星标,不错过圈内事

点赞和在看就是最大的支持❤️

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
提供4万澳币留学奖学金,澳洲教师直接提薪至$14.7万返团 | 被狂催的打印机终于有货了!居家学习效率直接翻倍,真的太香了!这5个PPT排版技巧,只要学会一个都很吃香!数学启蒙|提升计算速度,试试这些小技巧,亲测有效!祭拜林彪天玑9200跑分曝光;Steam低价区定价暴涨;Chrome支持HEVC看B站不再呼啸头发又油又塌怎么办?学会这个技巧,告别「头等」烦恼!历史新低!Google Chromecast 流媒体播放器 29.98元!女儿:你是我的摇钱树颠覆Chrome,这个神秘公司想给浏览器来一场彻底革命AI看了70000小时《我的世界》视频学会人类高级技巧,网友:它好痛苦接口请求合并的3种技巧,性能直接爆表!惠普推出 Chromebook x360 13b 笔记本电脑,配备联发科 Kompanio 1200 芯片Chrome再次优化内存占用,新增内存释放开关Key Highlights From China’s Newly Revised Women’s Protection LawChrome 浏览器将停止支持 Windows 7/8/8.1谷歌翻译停服?别慌,手把手教你一招修复 Chrome 浏览器无法翻译网页问题Chrome 将全面推出 “节省内存” 和 “节省电量” 模式靓号15666666666,无人出价一年303个漏洞,Chrome被评为“最脆弱”浏览器,Opera 最安全!从 0-70% 的市场份额,看 Chrome 如何重新定义了浏览器20个让你提升刑辩胜诉率的技巧,越早知道越好Nat. Commun.:多级调节太阳光的新型热驱动卷曲智能窗Chrome将全面推出 “节省内存” 和 “节省电量” 模式《太平世界,环球同此凉热。》Recommend somebody to do something是错误说法吗?一年 303 个漏洞,Chrome 被评为『最脆弱』浏览器,Opera 最安全!网友:Opera 还有人用?硬核观察 #805 Chrome 准备废弃刚刚标准化的 JPEG-XL 图像格式很有用的面试技巧!大家都别想好过哈哈哈Google公布2022年度最热门Chrome扩展如何在 Ubuntu Linux 上更新谷歌 Chrome | Linux 中国找牙医的体会放学后想问问孩子在校的情况,你以为在沟通,其实可能只是尬聊……实用亲子沟通小技巧,学起来!龙虾粥,拿铁秋季穿搭有“心机”,时尚博主教你4个技巧,轻松提升时髦感
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。