chrome的调试技巧速览

2,022 阅读4分钟

强烈推荐谷歌浏览器调试技巧的小册子,一毛钱。以下内容仅仅是根据内容总结速览的,不推荐直接看~。
说起来,莫名看的很燃的感觉,哈哈哈~

copy & saving

  • 输入copy(location),然后粘贴在任意处,copy特别好用!
  • 右击控制台输出的信息,可以保存为全局变量
  • 右击控制台的错误信息,可以将信息导出到文件

常用快捷键

  • command + shift + d切换控制台的位置
  • command + [可以快速切换控制台的各个面板
  • option + ↑让数值增加0.1,shift + ↑让数值增加10,让数值增加1
  • 在elements面板里,command+f支持选择器查找,惊呆了。logs sources network也可以查找

command面板

  • 控制台command + shift + p,对,类似vscode的快捷键,酷炫!
  • 输入screen可以选择对当前网页full size全部截屏
  • 输入layout可以将elements面板,竖直分割或者横向分割
  • 输入theme可以切换黑白模式
  • 输入time可以显示控制台的打印数据的时间

代码块snippets的使用,快速在console执行某些代码

  • command + shift + p打开command面板
  • 输入snippet选择创建代码块
  • 删掉>,输入!,可以选择执行相应的代码块

console

  • $('h1')可以直接拿到h1,?('h1')可以将元素列表直接变成数组列表,没有jquery照样能用,炸裂
  • 可直接使用await,输入response = await fetch('https://jsonplaceholder.typicode.com/todos/1');json = await response.json()
  • 输入queryObjects(Vue),会展示所有的vue实例,其他类也是一样的
  • 输入value=null;console.assert(value,'value是空的'),value是falsy值是就会打印后面的
  • 输入var a=1;var b=2;console.log({a,b});console.table({a,b}),就能将打印的值和变量对应
  • 输入console.table(?('li'),['textContent','className']),打印json数组的时候,特别方便,第二个参数是只想显示的key。当然对象也是没问题的~~~
  • 输入console.dir($('body')),dir可以轻松打印节点的具体信息
  • 输入console.time('for');console.timeEnd('for')可以打印这两行代码执行的时间差,这个可以很方便的测试比如for循环执行了多长时间
  • 输入console.log('%c需要输出的信息','color:#f69'),%c加style样式即可花样log
  • 输入function log(message) { console.log(' '.repeat(new Error().stack.match(/\n/g).length - 2) + message ); };function a(){log('a');b()};function b(){log('b')};a()这时候log基于调用堆栈自动缩进
  • console.log可以直接在回调里。

source面板的断点

  • 右击断点的行号,可以编辑断点的执行条件,让断点在某种情况下才是断点
  • 上面的是为这个功能服务的。既然每次在执行到断点的时候都执行编辑条件,索性可以在编辑条件这里打印想要的东西。然后不要的时候在breakpoints那里可以清除掉所有的条件。好处是,不污染代码,再也不用手动注释或者开始console代码。

network面板

  • 右击请求在initiator可以看到请求调用的堆栈
  • 右击Name可以选择看请求的哪些数据,比如添加method
  • 右击某条请求,可以replay xhr重新发送请求

elements面板

  • 选中某个节点,按h键显示或隐藏该节点
  • 选中某个节点,任意拖拽到任意的位置,视图将直接变化
  • 选中某个节点,按住command,在按上下键,也可以快捷改变节点位置
  • 选中某个节点,右击edit html的时候可以使用command+z撤销
  • 选中某个节点,右击expand recuirsively可以一次性展开所有子节点
  • 选中某个节点,右击break on可以给节点打断点,具体三种形式:子节点,当前节点,当前节点移除
  • style里box-shodow里可以直接打开阴影编辑器
  • style里animation的动画效果,可以直接编辑贝塞尔曲线
  • style里每个元素的右下角有能快速编辑元素的color background-color text-shadow box-shadow
  • 颜色面板能直接用吸色器,其他玩法炸裂

Drawer

  • 一般只有一个控制台面板,但是你也可以像抽屉一样打开很多控制台面板,不同的控制台面板显示不同的tab,在一定情况哎也是很方便调试的。command+ shift+p输入drawer,选择玩法
  • 可以模拟你在任何位置!command+ shift+p输入drawer,选择sensor就可以输入虚拟的位置。选定的值将被 navigator.geolocation.watchPosition(或 .getCurrentPosition )报告。
  • 可以模拟网速和ua!command+ shift+p输入drawer,选择network就可以随意了
  • 可以快速看源码!command+ shift+p输入drawer,选择quick source就可以随意了
  • 可以快速看多余的代码!command+ shift+p输入drawer,选择coverage,点击小圆点开始,然后点击具体的文件就看到红色和绿色区域了
  • 可以快速比较修改前后的样式!command+ shift+p输入drawer,选择change

workspace

  • 就看懂丢文件了,哈哈哈