Chrome Command API 参考


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

$_

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

  1. > 2+ 2
  2. 4
  3. > $_
  4. 4
  5. >

$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)。

  1. var player1 = { "name": "Ted", "level": 42}
  2. > keys(player1)
  3. ["name", "level"]
  4. > values(player1)
  5. ["Ted", 42]
  6. >

monitor(function)

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

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

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

monitorEvents(object[, events])

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

  1. > monitorEvents(window, "resize");
  2. undefined
  3. 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. Ocelot Consul

    1首先创建一个json的配置文件,文件名随便取,我取Ocelot.json 这个配置文件有两种配置方式,第一种,手动填写 服务所在的ip和端口:第二种,用Consul进行服务发现 第一种如下: { & ...

  2. Windows上传文件到linux 使用winscp

    Windows上传文件到linux 使用winscp, winscp下载目录 https://sourceforge.net/projects/winscp/postdownload?source=d ...

  3. 如何为 smartraiden 贡献代码

    如何为 smartRaiden 贡献代码 1.Fork 项目 登录 github 账号,并访问https://github.com/SmartMeshFoundation/SmartRaiden,然后 ...

  4. leetcode 33 Search in Rotated Sorted Array JAVA

    题目: 假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] ). 搜索一个给定的目标值,如果数组中存在这个 ...

  5. Origin如何使曲面变平滑?

    在“绘图属性” - “绘图细节”窗口中选中 Layer1 下的曲面数据,“Colormap/Contours” 选项下有“Level”标签,选中并设置“Minor Levels”,将其数值调大即可.

  6. linux 安装python3.7 报错No module named '_ctypes'

    ModuleNotFoundError: No module named '_ctypes' 操作系统:centos yum install libffi-devel ./configure --en ...

  7. POJ - 2031C - Building a Space Station最小生成树

    You are a member of the space station engineering team, and are assigned a task in the construction ...

  8. [bzoj2816][ZJOI2012]网络(LCT,splay)

    传送门 题解 话说以前还真没见过用LCT只维护一条链的……好像除了树点涂色那题…… 先看一下题目规定的两个性质 对于任意节点连出去的边中,相同颜色的边不超过两条. 图中不存在同色的环,同色的环指相同颜 ...

  9. ACM-ICPC 2018青岛网络赛-H题 Traveling on the Axis

    题目:略(不知道怎么从ZOJ搬题) 地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4054 把这题的每个点分成两种情况 ...

  10. SQLServer XML

    OPENXML 参见:OPENXML (SQL Server) | Microsoft Docs SQL For XML 参见:FOR XML (SQL Server) | Microsoft Doc ...