chrome dev tools
chrome dev tools
介绍一下Chrome dev tools 的基本使用和一些意想不到的小技巧。\\
Chrome Developer Tools 是Chrome内嵌的一系列编辑和调试的工具。可以有效的追踪布局的问题,为javascript设置断点并对程序进行优化
====打开方式====
Ctrl+Shift+I 打开/关闭调试工具.(显示的是上次关前的tab)\\
Ctrl+Shift+J 打开/关闭调试工具的Console页\\
Ctrl+Shift+C 打开调试工具Elements页 在此界面继续按下组合键相当于放大镜按钮快捷键\\
====8个工具====
Chrome调试工具根据任务的不同分成8个Tab\\
他们是Elements COnsole Source Network Audit Timeline Profile Resource。 可以通过 Ctrl + [ 和 Ctrl + ] 来切换他们\\
Elements 检查the DOM and styles
Console 查看console API产生的信息 比如console.log() 可以直接输入js语句和你的程序交互
Source 主要用于debug 甚至可以直接编辑文件
Network 实时显示了当前的网络请求和下载的资源
Audit 分析页面加载,并提供建议和优化为减少网页加载时间,提高响应速度。
Timeline 加载页面的时间都花费在哪里,所有的事件,从loading,解析js,计算样式,页面重绘都有记录。
Profile 记录下执行时间和内存的使用,帮助你你明白资源都消耗在哪里,因此可以优化的你的代码
Resource 检查页面加载的资源。它可以让你直接操作HTML5 数据库,本地存储,Cookie,AppCache
====Elements====
可以通过这个界面来查看HTML和对应的样式。最常见的方式则是右键--Inspect Element.
使用放大镜按钮,将会高亮你选中的元素。当你选中后,Element将用蓝色显示对应的HTML片段。
可以通过拖拽的方式来改变HTML的结构,双击可以修改标记和属性名属性值
按下F2或者Edit as HTML 可以编辑HTML
Elements底部的区域叫做breadcrumb trail 用于显示当前节点层级
在Elements界面中 选中一个元素右键Scroll into View 所选中的元素将滚动到视图内
Event Listeners
在这个界面可以看到元素注册的事件 点击漏斗标识选择 selected nodes only 可以只显示当前选中的节点的事件 展开事件可以看到究竟是哪个文件哪一行定义了该事件
Styles
同时,你也可以在Styles界面中看到该元素对应的CSS。
样式前面有复选框,可以很方便的使这一个css失效或生效
(有的样式用删除线盖住了 表示该样式被其他样式覆盖)
通过单击可以修改值 对于数值型的值,可以通过⬆️⬇️来改变 Alt + ⬆️⬇️ 则是以0.1为单位改变 Shift +Up/Down 以10为单位改变值
回车后可以增加一条新的样式
+号按钮可以增加一个新的样式选择器
鼠标按钮可以强制的使元素使用伪类样式(不过这里的伪类仅限于active focus hover vistied4种)
对于颜色值,单击色块可以打开一个颜色选择器来修改。
css选择器后面显示了哪个文件哪一行定义了该样式,可以点击它进入到Sources面板对对应的css文件做修改
修改后可以暂时保存(并不会写入到文件 只是暂时保存在当前回话中)
右击Load Modifications 可以查看所做的改动
通过Revert可以撤销改动
Styles右侧有一个 Metrics面板,通过盒模型的方式很直观的显示了Margin Padding border width height的值 通过双击可以很轻松的修改他们
且当鼠标Hover在Metric中各个区块之上时,页面中对应的区域也会用相同的颜色高亮。
====Console====
Console界面非常有用,可以在Console中输入语句与程序交互。\\
尤其是Debug的时候,Console面板可以和其他面板同时显示\\
使用设置按钮旁边的抽屉按钮即可用Split-View的方式打开Console
清除Console中得内容\\
可以使用禁止标志 或者在Console中输入 clear() 或者使用快捷键 Ctrl + L\\
如果在程序中想要清除Console 使用Console.clear()\\
Console中可以输入语句 Console中默认回车是执行 如果想输入多行语句 可以使用Shift + Enter 来换行\\
===> 因此可以定义一个函数并执行他\\
Console中也有一个过滤器(漏斗标志) 可以用来筛选要显示的信息
在Console中显示的信息主要有4种 log error(红色) warning(黄色) info(蓝色) 过滤器可以分别显示这几种信息\\
刷新页面仍然想保留控制台中得信息,右键选中Preserve Log upon Navigation\\
Console中比较使用的小技巧
以组输出
console.group("Authentication phase");
//......
console.groupEnd("Authentication phase");
格式化输出
console.log("%s has %d points", "Sam", "100");
应用CSS改变字体样式
console.log("%cThis will be formatted with large, blue text", "color: blue; font-size: x-large");
统计一段代码执行时间
console.time("Array initialize");
//......
cons™ole.timeEnd("Array initiaize");
选择器
$('#loginBtn'); 相当于querySelector
$$('button.loginBtn'); 相当于querySelectorAll
Xpath
$x(xpath)命令可以执行一个xpath查询,如$x('//img')
会找出页面中所有的图片\\
====Source====
主要是用于Debug 当然还可以编辑代码\\
格式化Javascript 使用{} Pretty View按钮
单击设置断点 右键Edit BreakPoint 可以设置断点失效条件\\
右侧Watch Expression 可以监控变量\\
Call Stack 可以看到函数调用情况\\
对于异步函数调用(异步请求 setTimeout等) 需要勾上Async才能看到正确的函数调用顺序\\
可以暂时对文件做修改 之后按下Ctrl + S 可以临时保存
背景色将变成粉色\\
右键 Load Modifications 可以载入所有的改动 点击revert可以撤销改动\\
和sublime一样 通过Ctrl + F可以查找
Ctrl + G 可以跳转到某一行\\
=====DOM modifications=====
当DOM节点发生改变的时候可以中断js程序执行\\
在Elements面板中 右键一个元素 Break On中设置\\
有三种情况\\
Subtree Modification 当子节点改变的额时候\\
Attributes Modifications 属性发生改变的时候\\
Node Removal 节点被删除的时候\\
====Network====
在次面板打开的时候 它将会记录所有的网络活动\\
默认给出了很多列 Name名称 Method请求方式 Status请求状态\\
资源类型Type 请求来源Initiator 大小Size Time时长
时间线Timeline\\
Timeline中得浅色表示等待时间,深色表示加载时间\\
可以在漏斗中选择希望显示的列\\
单击名字可以看到详细的请求和相应信息\\
对于XHR请求 可以右键选择Replay XHR 来重新发送XHR请求
====Timeline====
Timeline工具栏提供了对于在加载你的Web应用的过程中,时间花费情况的概览,这些应用包括处理DOM事件, 页面布局渲染以及向屏幕绘制元素。\\
它将真实三个层面的数据(Event Frame Memory)来显示程序从加载到显示时间都花费在了哪里\\
默认该面板不记录任何信息
点开记录按钮(红色表示正在记录) 再次点击则停止记录
或者使用Ctrl + E快捷键开始记录\\
想要记录一个页面从加载开始的全部信息 可以使用 Ctrl + R + E 组合键
禁止按钮会清空目前所有记录\\
垃圾桶按钮会强制进行一次垃圾回收\\
漏斗按钮可以筛选出耗时超过15ms的记录
=====Frames=====
====Profile====
Profile里面提供了三种类型,通过这三种分析可以查看内存泄露和占用情况。
收集JavaScript的CPU占用信息\\
获取堆的快照\\
录制堆的分配情况\\
Ctrl+E 开始/结束录制\\
====Resources====
Resources可以让你检查应用的本地数据资源,包括indexedDB/WebSql DB,localStorage/sessionStorage,cookie以及AppCache,你还可以检查应用的视觉资源,包括图片、字体和样式等(在Frames中)。
比如AppCache中,你可以检查Chrome已经缓存了当前文档的哪些资源以及AppCache的状态和浏览器连接情况。\\
=====Audits=====
分析页面的性能,并提供优化建议\\
使用Run开始分析
chrome dev tools的更多相关文章
- Chrome Dev Tools :成为更高效的开发人员
原文出处 http://blog.jobbole.com/22065/ 实时CSS Style编辑 选择一个Dom,可以对Dom进行编辑和操作,实时修改Css Style, 同时CssStyle可以保 ...
- 前端性能优化之利用 Chrome Dev Tools 进行页面性能分析
背景 我们经常使用 Chrome Dev Tools 来开发调试,但是很少知道怎么利用它来分析页面性能,这篇文章,我将详细说明怎样利用 Chrome Dev Tools 进行页面性能分析及性能报告数据 ...
- 15个你不得不知道的Chrome dev tools的小技巧
转载自:https://www.imooc.com/article/2559 谷歌浏览器如今是Web开发者们所使用的最流行的网页浏览器.伴随每六个星期一次的发布周期和不断扩大的强大的开发功能,Chro ...
- [Debug] Debug Node.js Application by using Chrome Dev tools
For example you have a server.js file, and you want to debug some problems; What you can do is: node ...
- [Debug] How to Debug a NestJs Backend using the Chrome Dev Tools
TO debug NestJS code with Chrome dev tool, we can run: node --inspect-brk dist/rest-api/src/main.js ...
- Chrome Dev Tools: Code Folding in CSS and Javascript for improved code readiability
Note : Apply for google chrome canary. You can fold code blocks in CSS (and Sass) and javascript fil ...
- 页面性能分析-Chrome Dev Tools
一.分析面板介绍 进行页面性能快速分析的主要是图中圈出来的几个模块功能: Network : 页面中各种资源请求的情况,这里能看到资源的名称.状态.使用的协议(http1/http2/quic...) ...
- Chrome Dev tools的几点小技巧
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- [Tools] Create your own mobile emulator device by using Chrome dev tool
Using the New Device Emulation Interface The Device Emulation interface changed a bit with the newer ...
随机推荐
- css滤镜(转载)
STYLE="filter:filtername(fparameter1, fparameter2...)" (Filtername为滤镜的名称,fparameter1.fpara ...
- SQL中日期格式转换为年月日
)
- ASPxComboBox-通过回车过滤结果集
Dev ASP.NET组件中的ASPxComboBox可以方便的根据输入内容进行过滤,不过对于数据量较大或者用户数较多的情况下,这个功能会给服务器带来严重的负担,因此我们应该输入自己想要查询的字符串时 ...
- C#Base64加密
using System;using System.Collections.Generic;using System.Text;using System.Security.Cryptography;u ...
- CloseHandle(),TerminateThread(),ExitThread()的区别
线程的handle用处:线程的handle是指向“线程的内核对象”的,而不是指向线程本身.每个内核对象只是内核分配的一个内存块,并且只能由内核访问.该内存块是一种数据结构,它的成员负责维护对象的各种信 ...
- SGU 149. Computer Network( 树形dp )
题目大意:给N个点,求每个点的与其他点距离最大值 很经典的树形dp...很久前就想写来着...看了陈老师的code才会的...mx[x][0], mx[x][1]分别表示x点子树里最长的2个距离, d ...
- 在C#调用C++的DLL方法(一)生成非托管dll
C#与C/C++相比,前者的优势在于UI,后者的优势在于算法,C++下的指针虽然恶心,若使用得当还是相当方便的,最重要的问题是,市面上很多流行的开发工具库,几乎没有不支持C++的,但全面支持C#只能说 ...
- Spring jdbcTemplate + EasyUI 物理分页
前文说到,新项目中,用到的是SpringMVC + jdbcTemplate,前台是EasyUI,发现同事以前封装分页是逻辑分页,于是,自己动手封装了下物理分页. 这个是核心分页实体: import ...
- 关于Python网络爬虫实战笔记①
python网络爬虫项目实战笔记①如何下载韩寒的博客文章 python网络爬虫项目实战笔记①如何下载韩寒的博客文章 1. 打开韩寒博客列表页面 http://blog.sina.com.cn/s/ar ...
- 关于GitHub账号及文章选题
课程:软件测试基础 姓名:胡东妮 学号:2014218028 github账号:hudongni1 文章选题:测试用例的自动生成 邮箱:dongnihu@tju.edu.cn