Chrome 开发者工具

开发调试技巧

  • 我们知道在当前的文件中可以搜索一个特殊的字符串,同时也支持文本替换,选中 “Relpace” 将会出现第二个输入区域来填写用于替换的文本。 替换后保存,就可以接着运行调试代码了,也可以对修改的 js 或 css 文件另存为本地
  • 利用Snippets自定义 JavaScript 片段,这样可以创建测试代码、小工具或其他任何代码,一般用 Snippets 来创建书签、实用工具、Debugging 或 Monkey-patching。Snippets 位于 sources面板中,选中一个创建的文件,右击点 run 运行,也可以利用快捷键(Ctr / Cmd + Enter),也可以运行部分代码,选中后点击右键,选择 “Evaluate in Console”,快捷键为 Ctrl + Shift + E
  • 启用尺子,在 Setting > Preferences > Show rulers 下可以启用一个尺子,当你鼠标悬停在某个元素上或者选中一个元素的时候,它会显示出来。
  • 在开发者工具中的颜色选择器:在 style 面板中,点击样式中颜色值前面的小图标,可弹出颜色选择框
  • 在元素面板中拖曳,可以重新定位元素位置
  • 强制元素状态,如果我们想要查看一个元素的 :active,:hover,:focus,:visited,对应的样式,我们可以选中某一元素,右击,选择对应的元素状态行为即可。也可以在 Style 面板中点击 :hov 来调出状态选项
  • 通过开发者工具编写并调试 Sass(这个功能不错,待研究一下)
  • 清除网络缓存和 cookies,在 network 面板中右击(Ctrl+左击)选择 clear browser cache 或 clear browser cookie
  • 可以为 DOM 元素设置断点,当你不确定 JavaScript 脚本的哪一部分会更新给定元素的时候,你可以使用 DOM 断点来调试复杂的 JavaScript 应用。DOM 断点可以设置 子树的修改,属性修改,节点移除,右击某个 DOM 树,选择 Break On
  • 查看元素事件监听器,参见这里 http://wiki.jikexueyuan.com/project/chrome-devtools/editing-styles-and-the-dom.html
  • 模拟网络连接,在 network 面板中可以选择连接速度来模拟在弱网甚至没网的情况下,页面加载情况

控制台命令

我们可以读这篇文章来学习控制台相关命令 http://wiki.jikexueyuan.com/project/chrome-devtools/using-the-console.html

Console 控制台命令,主要有:

  • console.info()
  • console.debug()
  • console.log()
  • console.error()
  • console.warn()
  • console.assert()
  • console.group() console.groupEnd()

assert 断言

console.assert() 方法仅仅只当它的第一个参数为 false 时才显示一个错误信息字符串(它的第二个参数)

一个简单的断言并且如何展示的例子。

在下面的代码中,如果在列表中的子节点的数量超过 500,将会在控制台中引起错误信息。

console.assert(list.childNodes.length < 500, "Node count is > 500");

输出分组

你可以通过分组命令把相关联的输出信息分在一起。group 命令通过一个字符串的参数来给你的组命名。控制台将会把所有所有的输出信息组合到一块。要结束分组,你只需要调用 groupEnd 即可。

一个分组的例子

var user = "jsmith", authenticated = false;
console.group("Authentication phase");
console.log("Authenticating user '%s'", user);
// authentication code here...
if (!authenticated) {
    console.log("User '%s' not authenticated.", user)
}
console.groupEnd();

分组信息也可以嵌套使用

console.groupCollapsed() 的用法与 console.group() 类似,只是可以把分组后输出的结果折叠显示

浏览结构化数据

console.table() 提供了一个简单的方法来查看相似数据对象。这将给一个数据提供属性并且创建一个头。行数据将会从每一个索引属性值中获取。

控制台中一个使用 2 个数组的示例的显示。

console.table([{a:1, b:2, c:3}, {a:"foo", b:false, c:undefined}]);
console.table([[1,2,3], [2,3,4]]);

console.table() 中的第二个参数是可选项。你可以定义任何你想显示的属性字符串数组。

一个使用了对象集合的控制台输出表。

示例代码:

function Person(firstName, lastName, age) {
  this.firstName = firstName;
  this.lastName = lastName;
  this.age = age;
}
var family = {};
family.mother = new Person("Susan", "Doyle", 32);
family.father = new Person("John", "Doyle", 33);
family.daughter = new Person("Lily", "Doyle", 5);
family.son = new Person("Mike", "Doyle", 8);
console.table(family, ["firstName", "lastName", "age"]);

字符串的替换和格式化

任何日志方法的第一个参数可能都会包含一个或者多个格式说明符。一个说明符由一个 % 符号和后面跟着的字符组成,这个字符用来定义用于格式化的值。这个参数跟随的字符串就是占位符中所要显示的。

下面的例子使用了字符串和数字格式来插入要输出的字符串。你将会看到在控制台中 Sam 有 100 个点。

console.log("%s has %d points", "Sam", 100);

完整的格式化说明符如下:

格式符 说明
%s 格式化成 string
%i 或者 %d 格式化成 integer
%f 格式化成一个浮点类型
%o 格式化成一个可扩展的 DOM 元素。就跟在元素面板中看到的一样
%o 格式化成一个可扩展的 JavaScript
%c 通过第二个参数来申请一个 CSS 风格的输出字符串

将 DOM 元素格式化成 JavaScript 对象

当你想要在控制台中记录一个 DOM 元素,就显示成了 XML 格式。在元素面板中也会是同样的显示。要显示 JavaScript 格式的信息,你可以使用 dir() 方法或者是在 log() 中使用占位符来替换成你的 JavaScript。

看小面的例子

console.log(document.body.firstElementChild)
dir(document.body.firstElementChild)

运行一下就可以看出他们的不同之处

计算时间开销

通过 time() 方法可以启动一个计时器。你必须输入一个字符串来识别时间的标记。当你要结束计算的时候,使用 timeEnd() 方法,并且传递一个相同的字符串给构造器。控制台会在 timeEnd() 方法结束的时候,记录下标签以及时间的花销。

示例代码:

console.time("Array initialize");
    var array= new Array(1000000);
    for (var i = array.length - 1; i >= 0; i--) {
        array[i] = new Object();
    };
console.timeEnd("Array initialize");

快捷键

Chrome 开发者工具(DevTools)中所有快捷方式列表

  • Ctrl + o (windows,Linux) Cmd + o (Mac OS X) 当焦点定位到 Chrome developer tools 中,按下该快捷键,会自动切换到 sources,并弹出过滤窗口,通过模糊输入文件名,找到要查看的 js、 css、html、png 等文件,注意模糊匹配支持驼峰查找,比如:打开FooBarScript.js,你可以只写 FBaSc,这样可以节省时间。
  • Ctrl + Shift + F (Windows,Linux) Cmd + Opt + F (Mac OS X) 在所有文件中搜索,支持正则表达式搜索
  • Ctrl + Shitf + O (Windows,Linux) Cmd + Shitf + O (Mac OS X) 进入源面板(sources),然后就可以使用该快捷键来打开一个对应函数/特定选择器的选择框,在该选择框可以查找函数或方法/css选择器,这样就可以迅速定位到要查询的位置,方便快捷
  • Ctrl + P + : (Windows) Cmd + P + : 快速跳转到某一行

扩展工具

  • 利用开发者工具测试 iOS 应用 PonyDebugger 是一个客户端的库同时也是一个使用 Chrome 开发工具来调试应用网络状况以及管理对象上下文的网关服务器。
  • JSRunTime:开发者工具检索 JavaScript 对象的拓展
Copyright © 2016 all right reserved,powered by Gitbook最后修改时间: 2016-05-11 05:11:42