Chrome Command API 参考


Chrome开发工具已经强大得令人发指了,除了可通过UI操作的各种功能外,还提供了基于控制台的命令行方法,极大地方便了开发调试。现在就来领略下Chrome Command API 的风骚。

$_

返回控制台最近计算的表达式的值。

> 2+ 2
4
> $_
4
>

$0 - $4

返回在Elements面板最近选择的5个DOM元素(或者Profiles面板里选择的JavaScript对象)。

$选择器

有木有很熟悉?对了,jQuery也用这个。其实他是document.querySelector()的别名, 用法跟jQuery的类似,它只返回一个DOM元素(如果有的话)。

$$选择器

是document.querySelectorAll()的简写,它返回匹配的DOM元素集合。

$x(path)

根据指定的XPath表达式返回DOM元素集合。

clear()

清除控制台内容。

copy(object)

这个好用,可以把JavaScript对象的字符串表示拷贝到剪贴板。之前碰到过JavaScript对象某个属性的值 是个很长的字符串的情况,在控制台输出时只能显示一部分,其余的用...显示了,这样直接选中拷贝的话就不完整了。

debug(function)

可以指定调试某个function,当function被调用时会在function内部出现一个断点。跟它对应的undebug(function),可以取消断点。

dir(object)

console.dir(object)的别名, 将对象输出到控制台,可以展开查看各个属性。

dirxml(object)

等同于console.dirxml()方法。输出DOM对象的效果跟在Elements面板里看到的相同。

inspect(object/function)

打开对象或元素所在的查看面板:DOM元素就打开Elements面板,JavaScript对象就打开Profiles面板。

getEventListeners(object)

列出DOM元素上注册的事件处理器。

keys(object)

返回一个数组,包含指定对象的所有属性名。要获取对应的值数组,请用values(object)。

var player1 = {    "name": "Ted",    "level": 42}

> keys(player1)
["name", "level"]
> values(player1)
["Ted", 42]
>

monitor(function)

监听一个函数的执行,当函数被调用时,控制台输出一条记录。

> function sum(x, y) {    return x + y;}monitor(sum);
> sum(1,2)
function sum called with arguments: 1, 2
> 3
>

要取消监听,就用unmonitor(function)。

monitorEvents(object[, events])

监听对象上的事件。如果对象上指定的事件被触发,控制台会输出一条信息。可以在参数里指定事件名,或者事件类型。可以是单个事件,也可以是多个事件(放在数组里)。

> monitorEvents(window, "resize");
undefined
resize Event {clipboardData: undefined, path: NodeList[0], cancelBubble: false, returnValue: true, srcElement: Window…}

事件类型可以指定一类事件:

事件类型 事件
mouse "mousedown", "mouseup", "click", "dblclick", "mousemove", "mouseover", "mouseout", "mousewheel"
key "keydown", "keyup", "keypress", "textInput"
touch "touchstart", "touchmove", "touchend", "touchcancel"
control "resize", "scroll", "zoom", "focus", "blur", "select", "change", "submit", "reset"

相应地,用unmonitorEvents(object[, events])取消监听。

参考资料:https://developer.chrome.com/devtools/docs/commandline-api

Chrome Command API的更多相关文章

  1. Chrome浏览器扩展开发系列之十八:扩展的软件国际化chrome.i18n API

    i18n是internationalization 的简写,这里将讨论软件国际化的问题.熟悉软件国际化的朋友应该知道,软件国际化要求,页面中所有用户可见的字符串都必须置于资源属性文件中.资源属性文件中 ...

  2. Chrome浏览器扩展开发系列之十七:扩展中可用的chrome.events API

    chrome.events中定义了一些常见的事件类型,可以供Chrome浏览器扩展程序发出对应的事件对象. 对于关注的事件,首先要通过addListener()在对应的事件上注册监听器,示例如下: c ...

  3. Chrome浏览器扩展开发系列之十六:扩展中可用的Chrome浏览器API

    除了Chrome浏览器支持的chrome.* API之外,Chrome浏览器扩展还可以使用Chrome浏览器为Web页面或Chrome app提供的APIs.对于Chrome浏览器2支持的API,还可 ...

  4. Chrome浏览器扩展开发系列之九:Chrome浏览器的chrome.alarms.* API

    Chrome浏览器扩展程序通过chrome.alarms.* API,可以制定计划周期性地执行代码,或在指定时间执行代码. 要使用chrome.alarms.* API,首先需要在manifest.j ...

  5. Chrome Extensions API & options

    Chrome Extensions API options https://developer.chrome.com/extensions https://developer.chrome.com/e ...

  6. Headless Chrome Node API

    puppeteer Headless Chrome Node API https://github.com/GoogleChrome/puppeteer https://pptr.dev/ PWA h ...

  7. Chrome Command Line API 参考

  8. Chrome Restful Api 测试工具 Postman-REST-Client离线安装包下载,Axure RP Extension for Chrome离线版下载

    [Postman for Chrome 离线下载] Postman-REST-Client离线安装包,可直接在Chrome浏览器本地安装使用,可模拟各种http请求,Restful Api测试, CS ...

  9. PuppeteerSharp: 更友好的 Headless Chrome C# API

    前端就有了对 headless 浏览器的需求,最多的应用场景有两个 UI 自动化测试:摆脱手工浏览点击页面确认功能模式 爬虫:解决页面内容异步加载等问题 也就有了很多杰出的实现,前端经常使用的莫过于 ...

随机推荐

  1. CentOS7 关闭防火墙[转]

    CentOS6关闭防火墙使用以下命令, /临时关闭 service iptables stop //禁止开机启动 chkconfig iptables off CentOS7中若使用同样的命令会报错, ...

  2. ANE-IOS与AS的互通

    从AS调用IOS的函数与传参数 extContex是ExtensionContext的实例,通过call调用.第一个参数是IOS对应的函数,之后所有的参数会变成一个数组传入IOS中.也就是说函数名称后 ...

  3. 列表的操作,元组,range; enumerate

    一.列表: 1. 什么是列表 列表是一个可变的数据类型 ,列表由[]来表示, 每一项元素使用逗号隔开. 列表什么都能装. 能装对象的对象. 列表可以装大量的数据 2. 列表的索引和切片 列表和字符串一 ...

  4. objectARX 添加线型下拉组合框空间 CAcUiLineTypeComboBox

    不知道是有意还是无意,objectARX的所有文档中,居然没有CAcUiLineTypeComboBox, 而实际上这个是存在的.位于\inc\acuiComboBox.h 而在添加变量的向导中也没有 ...

  5. 淘宝内部分享:MySQL & MariaDB性能优化 【转】

    MySQL· 5.7优化·Metadata Lock子系统的优化 背景 引入MDL锁的目的,最初是为了解决著名的bug#989,在MySQL 5.1及之前的版本,事务执行过程中并不维护涉及到的所有表的 ...

  6. Linux CentOs 下 安装 mysql nginx redis

    SCP 的使用 来源于: https://blog.csdn.net/qq_30968657/article/details/72912070 scp [参数] <源地址(用户名@IP地址或主机 ...

  7. Java Builder 模式,你搞懂了么?

    加油.png 前言:最近闲来无事的时候想着看看一些平常用的三方库源码,没想到看了之后才知道直接撸源码好伤身体,一般设计优秀的开源库都会涉及很多的设计模式,就比如 android 开发使用频繁的 okH ...

  8. 2、TensorFlow训练MNIST

    装载自:http://www.tensorfly.cn/tfdoc/tutorials/mnist_beginners.html TensorFlow训练MNIST 这个教程的目标读者是对机器学习和T ...

  9. c++primer 学习笔记

    1.1 编写简单的c++程序 函数4元素:函数类型.函数名.形参表.函数体 调用GNU(UNIX) g++ prog1.cc -o prog1 //生成可执行文件prog1,UNIX下默认a.out ...

  10. Little Sub and Piggybank (杭师大第十二届校赛G题) DP

    题目传送门 题意:每天能往存钱罐加任意实数的钱,每天不能多于起那一天放的钱数.如果某一天的钱数恰好等于那天的特价商品,则可以买,求最后的最大快乐值. 思路:先来一段来自出题人的题解: 显然的贪心:如果 ...