网站首页 > 技术文章 正文
前端开发离不开浏览器 | 前端调试离不开控制台
我要开始写代码了→想看一下效果→打开浏览器→不满意或者出问题了→想要调试一下→打开控制台→主角出场 ↓↓↓
嗯~没错!就是这些。(Tips:打开方式主要有F12、ctrl+shift+i、右键检查、手动点击工具栏)
我们日常开发过程中经常会遇到不容易理解的行为出现,这个时候我们就要打开控制台(即开发者工具)来排查或解决我们的问题。
其实控制台不仅仅是协助我们调试的工具,还能很大程度上提升我们的生产力。
功能主要包括:审查元素、PC与移动端视图切换、查看元素、输出值、查看源文件、监测网络请求、内存分配信息、安全性信息、本地存储、性能分析等。
由于内容较多,因此先从元素(elements)说起。
1.点击左上角的小箭头,然后选中页面上的元素
当鼠标悬浮在该元素上时,会展示出当前的标签、大小、颜色、字体、外边距等属性,可用于快速查看这些基本信息。当单击鼠标时,元素面板中会自动定位到该元素的位置处,并且右边会出现样式、监听事件等属性面板。
会显示出应用在当前元素上的所有样式信息,包括自身样式、继承样式、代理样式等。可追加、修改、取消相应的属性,单击上方:hov可强制设置元素的状态,如::active、:hover、:focus等,单击.cls可为元素添加新的类名,单击加号可以新建样式规则。最下方为元素经过计算之后得到的盒子模型,可在计算样式面板查看更详细信息,计算样式面板展示了所有非默认属性经过层叠覆盖最终得到的样式信息,布局面板主要用来查看grid网格布局与flex弹性布局。(Tips:对于属性值为数值类型,可通过上下按键来调整,步长为1,按住shift步长为10,按住ctrl步长为100。颜色可以通过点击小方块来细致调整)
会显示出当前元素所有被绑定或会触发的事件(包括冒泡以及事件委托),展开不同的事件类型,可以查看该事件绑定所在的文件中的位置,一般用于快速定位到事件发生的位置,从而可以进行打断点等操作。
2.可在元素上面右键进行更多的操作
在元素节点与文本节点上面进行右键,会展示不同的控制面板,基本上所有的操作都以字面上的意义去理解就可以。需要特殊说明的是元素也可以打断点,有三种触发条件:元素属性变化、移除元素、子元素变化,如果在打完断点之后,发生上述情况,那么就会自动跳转到相应的执行代码的文件所在位置。注意:如果状态改变已经发生了,打断点是没有作用的,并且刷新页面之后会清除断点,这个与在源文件中的断点是不同的,不会一直保留断点。因此遇到这种情况可以在js中设置断点或debugger,并且是在页面加载完但代码还没有执行的时候,这样可以手动给元素设置断点之后,再继续执行代码,那么发生上述改动时,就会触发断点功能,跳转到代码执行的位置。
3.快速引用元素来查看属性等信息
有时候我们可能需要打印一些页面中的元素,但是通过在代码中输出或者通过选择器查询显得不是很灵活,这种情况下可以使用元素别名来达到引用的效果,在页面中单击元素之后,可以看到后面出现了 == $0 的字样,这个时候我们可以在控制台使用$0来输出该元素,并且可以直接进行元素的所有操作。注意:当没有任何选中元素时,输出$0会报错,$0永远指向最新的选中元素,并且$1指向次新,以此类推,最多到$4共五个元素引用。(Tips:如果是用vue开发的页面,那么可以使用$0.__vue__来引用当前元素的vue实例,其他同理,调试场景可自行拓展)
总的来说
元素面板提供的功能是非常强大的,其实还有很多便利性的功能,可以极大的帮助开发者快速发现问题、定位问题、排查问题、解决问题。甚至没有问题的时候也能够帮助开发者提升生产力。希望掌握这些技能之后能减少我们的痛苦折磨与头秃预警。目前元素面板只介绍这些常用的操作,后续可增加更多调试小技巧。
与其他面板配合使用,希望我们以后代码撸得越来越爽,越来越轻松。
- 上一篇: 比GDB更方便的代码调试工具:CGDB
- 下一篇: StackBlitz - 目前最好用的在线开发工具
猜你喜欢
- 2024-12-02 StackBlitz - 目前最好用的在线开发工具
- 2024-12-02 比GDB更方便的代码调试工具:CGDB
- 2024-12-02 新一代网络协议抓包调试工具!-Proxyman
- 2024-12-02 赛灵思开源Vitis HLS FPGA工具(仅限前端)
- 2024-12-02 运维必会的10个网络抓包/调试工具
- 2024-12-02 什么?这六款让前端开发更轻松的实用工具你还不知道!
- 2024-12-02 推荐20个提升程序员软技能与效率的必备工具
- 2024-12-02 Chrome开发者工具使用教程
- 2024-12-02 终端调试哪家强?
- 2024-12-02 Termino.js :下一代创意无限的终端模拟器!
你 发表评论:
欢迎- 07-08记oracle日志挖掘实操&查询归档不正常增长情况(一)
- 07-08Oracle 伪列!这些隐藏用法你都知道吗?
- 07-08orcl数据库查询重复数据及删除重复数据方法
- 07-08重大故障!业务核心表被truncate删除,准备跑路……
- 07-08oracle数据恢复—oracle执行truncate命令误删除数据的数据恢复
- 07-08Oracle-rac 修改scanip(oracle 修改sequence cache)
- 07-08ORACLE RAC CDB和PDB切换(oracle数据库rac切换)
- 07-08Oracle rac haip作用(oracle rac的典型特征)
- 596℃几个Oracle空值处理函数 oracle处理null值的函数
- 590℃Oracle分析函数之Lag和Lead()使用
- 577℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 573℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 569℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 562℃【数据统计分析】详解Oracle分组函数之CUBE
- 549℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 542℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- 记oracle日志挖掘实操&查询归档不正常增长情况(一)
- Oracle 伪列!这些隐藏用法你都知道吗?
- orcl数据库查询重复数据及删除重复数据方法
- 重大故障!业务核心表被truncate删除,准备跑路……
- oracle数据恢复—oracle执行truncate命令误删除数据的数据恢复
- Oracle-rac 修改scanip(oracle 修改sequence cache)
- ORACLE RAC CDB和PDB切换(oracle数据库rac切换)
- Oracle rac haip作用(oracle rac的典型特征)
- 新手小白怎么学UI设计 推荐学习路线是什么
- 超实用!0基础UI设计自学指南(0基础学ui设计好就业吗)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端懒加载 (49)
- 前端获取当前时间 (50)
- 前端接口 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)