您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

Chrome开发者工具详解

时间:2020-09-04 15:27:04  来源:  作者:

chrome开发者工具最常用的四个功能模块:元素(ELements)、控制台(Console)、源代码(Sources),网络(Network)。

元素(Elements):用于查看或修改html元素的属性、css属性、监听事件、断点等。css可以即时修改,即时显示。大大方便了开发者调试页面

控制台(Console):控制台一般用于执行一次性代码,查看JAVAScript对象,查看调试日志信息或异常信息。还可以当作JavaScript API查看用。例如我想查看console都有哪些方法和属性,我可以直接在Console中输入"console"并执行

源代码(Sources):该页面用于查看页面的HTML文件源代码、JavaScript源代码、CSS源代码,此外最重要的是可以调试JavaScript源代码,可以给JS代码添加断点等。

网络(Network):网络页面主要用于查看header等与网络连接相关的信息。

1、 元素(Elements):

这个部分主要是显示实时的DOM树。在页面中右键单击" 审查元素 ",就会出现Elements的面板。

查看元素的代码:点击左上角的箭头图标(或按快捷键Ctrl+Shift+C)进入选择元素模式,然后从页面中选择需要查看的元素,然后可以在开发者工具元素(Elements)一栏中定位到该元素源代码的具体位置

查看元素的属性:定位到元素的源代码之后,可以从源代码中读出该元素的属性。如下图中的class、src、width等属性的值。

Chrome开发者工具详解

 

在一个DOM节点上点击右键就会出现一个菜单,一共分为4部分

Chrome开发者工具详解

 

第一部分是添加和编辑节点的属性,例如class等。

第二部分是编辑节点,点击Edit as HTML,就可以像在编辑器中一样编写代码,Copy as HTML就是复制代码了,Delete node是整个删除节点。

第三部分是添加DOM的断点(给元素添加断点)

如果我们添勾选了任何一个,就会在右边栏的第五部分DOM breakpoints出现,这个页面可以看到当前网页的所有元素断点。当元素被修改(通常是JS代码修改),如果出现对应的事件(节点子树改变、节点属性改变、节点被移除),那么页面加载就会暂停,JS就会在相应的事件监听函数那里挂起。

Chrome开发者工具详解

 


Chrome开发者工具详解

 


Chrome开发者工具详解

 

底部显示的是一个当前元素的所有祖先元素。例如,上图中当前元素是body,它的祖先元素是html(也是父级元素),如果html有父级元素,仍然会显示html的父级元素(这里例子有点特殊)。

接下来看看右边栏。一共有6部分,分别是:Computed Style、Styles、Metrics、Properties、DOM Breakpoints、Event Listeners。Computed Style显示的是所选元素的最终样式,如果勾选了Show all,将会显示此元素的所有style属性,Computed Style中的属性是该元素经过计算之后的所有CSS属性,即最后浏览器渲染页面时使用的属性是只读的,不能实时修改,所以主要用来查看元素的最终属性值,属性的计算由浏览器自动进行,是浏览器渲染页面的一个必不可少的过程。

而第二部分Styles估计是用得最多的。这里会显示作用在所选元素的所有css规则,包含css文件中的样式规则,还有user stylesheet和user agent stylesheet的样式。样式按照权重的大小排列,最上面的是权重最高的,下面是权重低的。最上面的element.style是元素的内嵌样式。user stylesheet是用户样式,不过一般不会有人自定义样式。user agent stylsheet是浏览器的默认样式,通常的css reset就是将这个reset掉。背景不是灰色的部分是可以修改的样式,我们对样式的修改会实时显示在页面中,这就省去了我们为了修改几个像素去修改css文件然后保存刷新的过程,同时也可以禁用和启用某些样式。在Styles的标题栏有一个鼠标箭头的图标,点击之后就会出现伪类,因为一般情况下不会出现伪类的css规则。

Chrome开发者工具详解

 

2、控制台(Console)

先上图:不知道有多少人发现,在浏览器开发工具的"Console"上的百度首页的关于百度招聘的信息:

Chrome开发者工具详解

 


Chrome开发者工具详解

 

Console面板在开发用来调试的时候比较多

api功能:

控制台的核心对象是Console,如果我想查看console都有哪些方法和属性,我可以直接在Console中输入"console"并执行;或者用"console.dir(console)",同样可以实现查看console对象的方法和属性;

Chrome开发者工具详解

 

我们可以用console来调试js代码:

对于某个功能不好使的时候开发就会先看看控制台有没有报错,控制台面板中一般会打印一些报错信息,类似于App日志一样,可以定位到哪个文件,帮助我们定位问题。

Chrome开发者工具详解

 

代码执行到161行,如果想打印下"result",就可以在Console中进行调试,输入代码:"alert("result="+result);"回车即可,即可弹出result的结果;

Chrome开发者工具详解

 

或者是输入代码"console.log("result="+result);"直接打印结果也可,如下图:

Chrome开发者工具详解

 

对于一些简单的js语句,可以直接在控制台中输入来查看结果:

Chrome开发者工具详解

 

3、Sources面板:

打开sources面板;直接给某行js代码设置断点。

Chrome开发者工具详解

 

刷新页面后,程序就会停在断点设置的那一行上。

Chrome开发者工具详解

 

然后我们就可以在断点那一行代码的后面添加我们自己的debug代码了,例如下面这样:

Chrome开发者工具详解

 

按下快捷键Ctrl + s保存,发现该面板变红了,即表示保存生效:

Chrome开发者工具详解

 

在单步调试过程中直接查看变量:

1、通过Sources - Watch面板,在这里设置想要监控的变量,随着单步调试的进行,这些被监控的变量的值也会随之更新。

Chrome开发者工具详解

 

在最右侧的状态栏中,scope -> local,看到一些信息,otime是断点374行的调试信息

Chrome开发者工具详解

 

2、通过console打印变量,除了在代码里写console.log()外,其实是可以直接在单步调试的过程中直接用console来打印的,例如下图:

Chrome开发者工具详解

 

也可以直接把鼠标放在想要查看的变量上面选择它就可以看到变量值,如图:

Chrome开发者工具详解

 

或者直接在控制台中输入该变量名回车:

Chrome开发者工具详解

 


Chrome开发者工具详解

 


Chrome开发者工具详解

 


Chrome开发者工具详解

 

设置好了断点,下图的这几个按钮就非常有用了,他们出现在右边栏的顶部。

Chrome开发者工具详解

 

第一个按钮(像播放一样的按钮)是暂停和开始。

F8:快捷键,执行到最后一步

如果我们想要跳过当前的断点继续执行js,就可以点击这个按钮,点击之后js的执行会继续,如果在接下来的执行过程中再次遇到断点,那么就会在那个断点处暂停。

第二个按钮:

Chrome开发者工具详解

 

F10:逐语句执行,执行到下一步

鼠标悬浮,会出现一段英语step over next function call(单步执行函数调用),可以理解为逐步执行或者逐语句执行,点击这个按钮。

点击之后会发现程序进去下面一行,调试会一步步进行

Chrome开发者工具详解

 

向上的箭头是返回按钮,点击之后会退出当前正在执行的函数,到达函数执行完毕的在状态,如果是在全局作用域中,那么会退出调试。最后一个按钮是激活和反激活所有的断点,如果当前的断点是激活的,点击之后所有的断点将不起作用,再次点击之后恢复作用。

常用的快捷键如下:

F8:快捷键,执行到最后一步

ctrl+F8禁用断点

F10:逐语句执行,执行到下一步

F11:逐语句调试,即单步调试,会跳入方法、表达式,进行逐语句的跟踪调试

调试小技巧:

1、直接修改页面元素

选择页面上元素,右键"检查",会打开开发者工具窗口,显示当前选择元素的源代码,可以双击进行修改。

如果要修改的东西比较多,可以折叠元素并单击选择,再右键Edit as HTML修改。

2、颜色取色器

选择页面上元素,右键"检查",会打开开发者工具窗口,在Styles窗口中,点击一个样式的color右边小方块(如没有color可自己输入如color:red),会弹出颜色拾取器,可以在上面颜色画板上选择一个颜色,也可以选择"笔"图标可以拾取页面上元素的颜色。

3、快速查找并定位文件

查看源代码,鼠标移到开发工具窗口,按ctrl+p,输入链接地址的前几个字母,会自动联想显示所有符合条件的地址,点击打开即可。(有时第一次打开是空白内容,可再点击一次链接)

打开之后,如果是js内容,就可以直接在上面打断点调试。



Tags:Chrome开发者工具   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
chrome开发者工具最常用的四个功能模块:元素(ELements)、控制台(Console)、源代码(Sources),网络(Network)。元素(Elements):用于查看或修改HTML元素的属性、CSS属性、监听事件、断点等。...【详细内容】
2020-09-04  Tags: Chrome开发者工具  点击:(86)  评论:(0)  加入收藏
谷歌浏览器如今是Web开发者们所使用的最流行的网页浏览器。伴随每六个星期一次的发布周期和不断扩大的强大的开发功能,Chrome变成了一个必须掌握的工具。大多数前端开发者...【详细内容】
2020-06-27  Tags: Chrome开发者工具  点击:(55)  评论:(0)  加入收藏
▌简易百科推荐
摘 要 (OF作品展示)OF之前介绍了用python实现数据可视化、数据分析及一些小项目,但基本都是后端的知识。想要做一个好看的可视化大屏,我们还要学一些前端的知识(vue),网上有很多比...【详细内容】
2021-12-27  项目与数据管理    Tags:Vue   点击:(1)  评论:(0)  加入收藏
程序是如何被执行的  程序是如何被执行的?许多开发者可能也没法回答这个问题,大多数人更注重的是如何编写程序,却不会太注意编写好的程序是如何被运行,这并不是一个好...【详细内容】
2021-12-23  IT学习日记    Tags:程序   点击:(9)  评论:(0)  加入收藏
阅读收获✔️1. 了解单点登录实现原理✔️2. 掌握快速使用xxl-sso接入单点登录功能一、早期的多系统登录解决方案 单系统登录解决方案的核心是cookie,cookie携带会话id在浏览器...【详细内容】
2021-12-23  程序yuan    Tags:单点登录(   点击:(8)  评论:(0)  加入收藏
下载Eclipse RCP IDE如果你电脑上还没有安装Eclipse,那么请到这里下载对应版本的软件进行安装。具体的安装步骤就不在这赘述了。创建第一个标准Eclipse RCP应用(总共分为六步)1...【详细内容】
2021-12-22  阿福ChrisYuan    Tags:RCP应用   点击:(7)  评论:(0)  加入收藏
今天想简单聊一聊 Token 的 Value Capture,就是币的价值问题。首先说明啊,这个话题包含的内容非常之光,Token 的经济学设计也可以包含诸多问题,所以几乎不可能把这个问题说的清...【详细内容】
2021-12-21  唐少华TSH    Tags:Token   点击:(9)  评论:(0)  加入收藏
实现效果:假如有10条数据,分组展示,默认在当前页面展示4个,点击换一批,从第5个开始继续展示,到最后一组,再重新返回到第一组 data() { return { qList: [], //处理后...【详细内容】
2021-12-17  Mason程    Tags:VUE   点击:(14)  评论:(0)  加入收藏
什么是性能调优?(what) 为什么需要性能调优?(why) 什么时候需要性能调优?(when) 什么地方需要性能调优?(where) 什么时候来进行性能调优?(who) 怎么样进行性能调优?(How) 硬件配...【详细内容】
2021-12-16  软件测试小p    Tags:性能调优   点击:(19)  评论:(0)  加入收藏
Tasker 是一款适用于 Android 设备的高级自动化应用,它可以通过脚本让重复性的操作自动运行,提高效率。 不知道从哪里听说的抖音 app 会导致 OLED 屏幕烧屏。于是就现学现卖,自...【详细内容】
2021-12-15  ITBang    Tags:抖音防烧屏   点击:(23)  评论:(0)  加入收藏
11 月 23 日,Rust Moderation Team(审核团队)在 GitHub 上发布了辞职公告,即刻生效。根据公告,审核团队集体辞职是为了抗议 Rust 核心团队(Core team)在执行社区行为准则和标准上...【详细内容】
2021-12-15  InfoQ    Tags:Rust   点击:(24)  评论:(0)  加入收藏
一个项目的大部分API,测试用例在参数和参数值等信息会有很多相似的地方。我们可以复制API,复制用例来快速生成,然后做细微调整既可以满足我们的测试需求1.复制API:在菜单发布单...【详细内容】
2021-12-14  AutoMeter    Tags:AutoMeter   点击:(20)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条