本文介绍的 Chrome 开发者工具基于 Chrome 65版本,若是你的 Chrome 开发者工具没有下文提到的那些内容,请检查下 Chrome 的版本javascript
Chrome 开发者工具是一套内置于 Google Chrome 中的Web开发和调试工具,可用来对网站进行迭代、调试和分析css
打开 Chrome 开发者工具的方式有:java
在Chrome菜单中选择 更多工具 > 开发者工具node
在页面元素上右键点击,选择 “检查”web
使用 快捷键 Ctrl+Shift+I (Windows) 或 Cmd+Opt+I (Mac)。更多快捷键https://developers.google.com/web/tools/chrome-devtools/shortcutschrome
Chrome 开发者工具主要包含如下10个部分:shell
使用 Chrome DevTools 的 Device Mode 打造移动设备优先的彻底自适应式网站安全
该模式不可替代真实设备测试网络
切换 Device Mode 按钮能够打开或关闭 Device Modeapp
经过该视图控件,你能够设定下面两种模式:
媒体查询是自适应网页设计的基本部分。要查看媒体查询检查器,请在三圆点菜单中点击 Show Media queries。DevTools会在样式表中检测媒体查询,并在顶端标尺中将它们显示为彩色条形
用彩色标记的媒体查询示例以下:
点击媒体查询条形,调整视口大小和预览适合目标屏幕大小的样式
右键点击某个条形,查看媒体查询在 CSS 中何处定义并跳到源代码中的定义
使用元素面板能够自由的操做DOM和CSS来迭代布局和设计页面
使用 Styles
窗格能够修改与元素关联的 CSS 样式
点击 .cls 按钮能够查看与当前选定元素关联的全部 CSS 类。 从这里,您能够执行如下操做:
您能够在元素上手动设置动态伪类选择器(例如 :active、:focus、:hover 和 :visited)
能够经过两种方式在元素上设置动态状态:
Styles 窗格提供了一个用于向样式规则快速添加 text-shadow、box-shadow、color 和 background-color 声明的快捷方式
样式规则的右下角有一个由三个点组成的图标。您须要将鼠标悬停到样式规则上才能看到这个图标
将鼠标悬停到此图标上能够调出添加 text-shadow、box-shadow、color 和 background-color 声明的快捷方式。
要打开 Color Picker,请在 Styles 窗格中查找一个定义颜色的 CSS 声明(例如 color: blue)。 声明值的左侧有一个带颜色的小正方形。 正方形的颜色与声明值匹配。 点击小正方形能够打开 Color Picker
您能够经过多种方式与 Color Picker 交互:
Elements 面板中的 DOM 树视图能够显示当前网页的 DOM 结构。经过 DOM 更新实时修改页面的内容和结构
两种方式:
设置 DOM 断点以调试复杂的 JavaScript 应用。例如,若是您的 JavaScript 正在更改 DOM 元素的样式,请将 DOM 断点设置为在元素属性修改时触发。在发生如下一种 DOM 更改时触发断点:子树更改、属性更改、节点移除
设置子树修改断点:右键选择某个元素,而后选择 Break on --> subtree modifications
添加、移除或移动子元素时将触发子树修改断点。例如,若是您在 main-content 元素上设置子树修改,如下代码将触发断点:
var element = document.getElementById('main-content'); //modify the element's subtree. var mySpan = document.createElement('span'); element.appendChild( mySpan );
设置属性修改断点:右键选择某个元素,而后选择 Break on --> attribute modifications
动态更改元素的属性 (class, id, name) 时将发生属性修改:
var element = document.getElementById('main-content'); // class attribute of element has been modified. element.className = 'active';
设置节点移除断点:右键选择某个元素,而后选择 Break on --> node removal
从 DOM 中移除有问题的节点时将触发节点移除修改:
document.getElementById('main-content').remove();
在 Event Listeners 窗格中查看与 DOM 节点关联的 JavaScript 事件侦听器
启用 Ancestors 复选框时查看祖先实体事件侦听器,即除了当前选定节点的事件侦听器外,还会显示其祖先实体的事件侦听器
启用 Framework listeners 复选框时查看框架侦听器,DevTools 会自动解析事件代码的框架或内容库封装部分,而后告诉您实际将事件绑定到代码中的位置
在开发期间,可使用控制台面板记录诊断信息,或者使用它做为 shell 在页面上与 JavaScript 交互
若是一条消息连续重复,而不是在新行上输出每个消息实例,控制台将“堆叠”消息并在左侧外边距显示一个数字。此数字表示该消息已重复的次数
若是您倾向于为每个日志使用一个独特的行条目,请在 DevTools 设置中启用 Show timestamps
因为每一条消息的时间戳均不一样,所以,每一条消息都将显示在各自的行上
如下屏幕截图中以蓝色突出显示的下拉菜单称为 Execution Context Selector
一般,您会看到此环境设置为 top(页面的顶部框架)。
其余框架和扩展程序在其自身的环境中运行。要使用这些其余环境,您须要从下拉菜单中选中它们。 例如,若是您要查看 <iframe>
元素的日志输出,并修改该环境中存在的某个变量,您须要从 Execution Context Selector 下拉菜单中选中该元素。
控制台默认设置为 top 环境,除非您经过检查其余环境中的某个元素来访问 DevTools。 例如,若是您检查 <iframe>
中的一个 <p>
元素,那么,DevTools 将 Execution Context Selector 设置为该 <iframe>
的环境。
当您在 top 之外的环境中操做时,DevTools 将 Execution Context Selector 突出显示为红色,以下面的屏幕截图中所示。 这是由于开发者不多须要在 top 之外的任意环境中操做。 输入一个变量,期待返回一个值,只是为了查看该变量是否为 undefined(由于该变量是在不一样环境中定义的),这会很是使人困惑
在源代码面板中设置断点来调试 JavaScript ,或者经过Workspaces(工做区)链接本地文件来使用开发者工具的实时编辑器
在某些状况下,咱们须要对混淆的代码作必定的调试,但这是咱们看到的代码是乱成一团,毫无格式可言:
那咱们能够点击下方的格式化按钮对代码进行格式化:
当咱们知道须要调试的代码的确切位置的时候,使用代码行断点
DevTools 设置代码行断点:
固然你也能够在代码中使用 debugger 来设置代码行断点,效果和在 DevTools 中设置是同样的:
console.log('a'); console.log('b'); debugger; console.log('c');
当咱们知道须要调试的代码的确切位置且在知足条件下才调试的时候,使用条件代码行断点
设置条件的代码行断点:
当您想要更改DOM节点或其子节点的代码时,使用DOM更改断点
设置DOM更改断点:
当XHR的请求URL包含指定字符串时,若是要中断,使用XHR断点
设置XHR断点:
当想要暂停事件侦听器代码时,使用事件侦听器断点
设置事件监听器断点:
当您想暂停引起捕获或未捕获异常的代码行时,使用异常断点
设置异常断点:
调用 debug(functionName) 来给函数 functionName 进行断点调试
function sum(a, b) { let result = a + b; // DevTools pauses on this line. return result; } debug(sum); // Pass the function object, not a string. sum();