站长家园(原代码之家)(www.adminjie.com)网站源码,微信源码,游戏源码,商业源码分享平台。
当前位置:网站首页 技术文章 网络编程 正文

11个可以提升效率的chrome调试技巧

时间:2022-06-13 [网络编程]作者:fabuyuan 浏览:3 次

本篇文章给大家分享11个chrome高级调试技巧,学会效率直接提升666%,希望对小伙伴们有帮助!

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

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

1#. 一键重新发起请求

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

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

  • 选中Network

  • 点击Fetch/XHR

  • 选择要重新发送的请求

  • 右键选择Replay XHR

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

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

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

  • 选中Network

  • 点击Fetch/XHR

  • 选择Copy as fetch

  • 控制台粘贴代码

  • 修改参数,回车搞定

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

3#. 复制JavaScript变量

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

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

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

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

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

  • 通过Elements选择要调试的元素

  • 控制台直接用$0访问

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

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

  • 准备好需要截屏的内容

  • cmd + shift + p 执行Command命令

  • 输入Capture full size screenshot 按下回车

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

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

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

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

  • 按住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的白色主题,有的喜欢黑色,我们可以使用快捷键迅速切换两个主题。

  • cmd + shift + p 执行Command命令

  • 输入Switch to dark theme或者Switch to light theme进行主题切换

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

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

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

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

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

  • 安装Console Importer插件

  • $i('name')安装npm包

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

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

const foods = [
  {
    name: '?',
    price: 10
  },
  {
    name: '?',
    price: 15
  },
  {
    name: '?',
    price: 20
  },
]

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

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

(学习视频分享:web前端开发、编程基础视频)

以上就是11个可以提升效率的chrome调试技巧的详细内容,更多请关注站长家园其它相关文章!

本文标签:  javascriptChrome

转载请注明来源:11个可以提升效率的chrome调试技巧

本文永久链接地址:https://www.adminjie.com/post/13415.html

免责声明:
本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

附:
二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!

版权声明:
一、本站致力于为软件爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的部分源码下载文件为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、我站提供用户下载的所有内容均转自互联网。如有内容侵犯您的版权或其他利益的,若有侵犯你的权益请:提交版权证明文件到邮箱 2225329873#qq.com(#换为@) 站长会进行审查之后,情况属实的会在三个工作日内为您删除。

  • 站长家园(原代码之家)会员升级
  • 最新文章
    • html5中web储存的含义是什么

      html5中web储存的含义是什么

      html5中web储存的含义是让网页在用户计算机上保存一些信息,使用HTML5可以在本地存储用户的浏览数据;web储存又可以分为本地存储和会话存储,分别对应lo...

    • html5的注释有快捷键吗

      html5的注释有快捷键吗

      html5的注释有快捷键;可以利用“ctrl+/”快捷键实现注释,选中需要注释的代码后,利用该快捷键就会在指定代码前添加“<!--”,在指定代码后添加“-...

    • mysql索引的查询语句是什么

      mysql索引的查询语句是什么

      mysql索引的查询语句是“SHOWINDEX”,可以返回与当前数据库或指定数据库中的表关联的索引信息,完整语法“SHOWINDEXFROM表名[FR...

    • html5里面的data属性的作用是什么

      html5里面的data属性的作用是什么

      html5里面的data属性的作用是存储私有页面后应用的自定义数据,“data-*”是HTML5新增的一个自定义数据属性功能,作为可以暂存数据使用,自定义的数据...

    • html5响应式设计是什么意思

      html5响应式设计是什么意思

      html5响应式设计的意思是使用百分比布局创建流动的弹性界面,同时使用媒体查询来限制元素的变动范围;响应式设计的理念是基于流动布局、弹性图片、弹性表格、弹性视频...

    热门文章