前面我们介绍了IE11的Developer Tools中的第一个工具--DOM Explorer,这篇文章介绍第二个工具--控制台(Console),使用控制台工具查看错误和其他信息、发送调试输出、检查JavaScript对象和XML节点,以及在所选窗口或框架的上下文中运行JavaScript。

控制台工具的主要用途是与运行的网页进行向内和向外的通信:

  向内:可以运行JavaScript以查看和更改正在运行的网页中的值、向运行的代码添加函数,以及在执行代码时运行调试代码。
  向外:IE和JavaScript代码将向开发人员提供状态、错误和调试消息,包括可检查的JavaScript对象和DOM节点。

控制台具有一个"目标(Target)"下拉菜单,可以从中选择"iframe" 或 "_top"来运行控制台命令,如果网页中没有"iframe", "_top"将是唯一选择,如下图所示:

在控制台的监控下,可以看到IE系统消息具有三个分类:

  信息:你看你希望了解的非重要信息
  警告:网页中可能存在错误,它不一定会打断网页,但可能导致异常行为
  错误:使代码无法运行的严重错误

默认情况下,三种分类都会显示出来,但也可以根据需求选择自己需要显示的内容:

从上图可以看出,在控制台的监控下,各种错信息的数量,而且除了可以选择查看分类信息之外,还可以清空信息。如果选择“导航时清除”图标,即倒数第二个图标被高亮时,控制台将在每次浏览器导航到新网页时执行清除,这时,我们只能看到当前网页消息,反之,将会保存以前的网页的信息,同时,以前的网页消息呈现灰色,以便区分它们是否来自当前网页。

在控制台右下角,我们可以看到如下图所示的三个按钮:

点击最后一个按钮,即朝上的箭头按钮,可以打开控制台输入页面,这提供给开发人员从代码发送到控制台的消息,其中消息可以分成:自定义消息、可检查的对象和节点、计数器、计时器、断言、跟踪和分析。输入代码之后点击中间的绿色箭头,可以在控制台消息里看到相应的返回,如下图所示:

接下来分别介绍这些信息。

自定义消息

上图中的console.log()即为自定义消息之一,它显示不带警报图标的纯文本,另外三个是系统消息的格式:console.info()--用于信息消息,console.warn()--用于警告消息,console.error()--用于错误消息,它们与控制台提供的消息查看是一致的。

编码的过程中,可以直接用文本作为参数,同样,也可以是变量的方式或者文本与变量同时使用的方式,甚至可以进行变量替换:

可检查的对象和节点

要显示可检查的JavaScript对象,可以使用console.dir(),将其发送到控制台

要显示可检查的DOM节点,可以使用console.dirxml(),将其发送到控制台

这里我们需要注意,对参数的选取,需要获得元素的id,如果id不存在,将会提示undefined。对于已经获得的对象或节点,可以展开查看具体的内容。

 计数器

虽然在代码中设置计数器相对简单,但它仍是一项重复的任务。我们可以使用console.count()方法进行简单的速记,其字符串包含作为参数的计数器标签。首次与特定标签一起使用时,将在控制台输出中建立一个计数器。之后使用带有相同标签的console.count()时,计数器的计数将累加,要将计数器重置为0,使用console.countReset()。

计时器

计时器类似于计数器,在代码的任意位置使用console.time()就可以启动计时器了,同时,使用console.timeEnd()来结束计时器并将结果发送给控制台。

如上图所示,因为对console.time()和console.timeEnd()方法中没有传入参数,因此,计时的时候显示的是“default”标签,如果需要自己定义标签,只需要向方法传递我们需要的字符串标签即可。

同时,我们也可以使用console.timeStamp()方法,该方法返回的是加载网页的时间:

它们都是用毫秒来计时的,如果你结合UI响应能力分析会话期间来使用它的话,除了控制台输出外,还会将用户标记以及自会话启动以来的时间添加到会话时间线中。

断言

断言对于调试代码有一定的帮助,在控制台中使用它,也可以让我们较为清晰地看到问题的所在。在控制台中使用断言,只需要使用console.assert()方法即可,如果第一个参数为false, 将运行console.error()弹出错误消息,同时可以看到详细的错误信息:

跟踪和分析

了解从何处调用了你的代码,正在运行的是哪个代码,以及执行任务需要多长时间,这些信息对于分析速度缓慢或异常行为非常有用。

堆栈跟踪通过向上追溯路径的跟踪请求向你显示到达当前代码的执行路径。可以在代码中使用console.trace()方法来显示堆栈跟踪。

在一些实例中,查看两点间运行的代码的每个部分将十分有用,探查器是用于该目的的最佳工具,但在一些情况下可能需要比手动停止和开始更高的精确度。在代码中精确地开始和停止探查器可以使用console.profile()和console.profileEnd()。

注意:覆盖分析会话可能会创建异常报告。在首次测试运行时,使用console.trace()替代console.profile()来确保不会在结束分析前多次调用console.profile().

由于要处理发送到控制台的所有类型的消息和内容,跟踪它们可能比较困难,可以使用分组命令:console.group(), console.groupCollapsed(), console.groupEnd().

在命令行中输入的所有脚本都会在点击了运行之后在当前选定窗口的全局范围内执行,在命令行中输入任何有效的JavaScript,还可以将JavaScript发送到控制台。

下一篇文章将介绍调试(Debugger)部分的内容。

IE11之F12 Developer Tools--控制台工具(Console)的更多相关文章

  1. IE11之F12 Developer Tools--概述篇

    打开Developer Tools的方法: a. 点击F12 b. 在浏览器中选择Tools-->F12 Develooper Tools 打开后图示: 从上图我们可以看到,Developer ...

  2. IE11之F12 Developer Tools--调试器(Debugger)

    使用调试器工具在代码运行时对其导航.设置监视点和断点,查看调用堆栈,以及提高编译/精简JavaScript的可读性. 调试器可以帮助你了解为何你的代码片段会出现未按照预期方式运行.未在预期时间运行及在 ...

  3. React - React Developer Tools开发者工具的安装与使用(Chrome调试插件)

    原文地址:http://www.cnplugins.com/zhuanti/how-to-use-react-tools.html 虽然我们曾经在React开发者工具的基础介绍里面有概括性的介绍过Re ...

  4. IE11之F12 Developer Tools--DOM Explorer

    使用DOM Explorer工具查看网页的DOM状态.检查HTML结构和CSS样式,并测试更改以解决显示问题.这可以在元素位置错误或行为异常时帮助你诊断问题,然后解决问题. DOM Explorer图 ...

  5. Chrome的开发者工具(Chrome Developer Tools)

    Chrome的开发者工具(Chrome Developer Tools) 按F12 https://developer.chrome.com/devtools/index http://www.w3s ...

  6. Phalcon 开发工具(Phalcon Developer Tools)

    Phalcon提供的这个开发工具主要是用来辅助开发,比方生成一些程序的基本框架.生成控制器模型等. 使用这个工具我们仅仅须要一个简单的命令就可以生成应用的基本框架. 很重要: 要使用这个工具我们必需要 ...

  7. IE11 开启F12开发人员工具中的 始终从服务器刷新

    在进行页面脚本调试时,经常需要清除浏览器缓存来获取最新的脚本文件,IE11之前的浏览器版本我们可以按F12调出开发人员工具,在缓存选项中开启"始终从服务器中刷新"的设置后我们就不需 ...

  8. 使用IE11的F12开发人员工具进行网页前端性能测试

    用IE访问被测网站(我的是IE11,EDGE浏览器相同),定位到你要测试的动作所在页面或被测页面的前一页.按F12调出开发人员工具,其它的功能我就不介绍了,直接切换到性能选项卡. 根据提示按快捷键ct ...

  9. Chrome调试工具Developer Tools——前端必备神器

    本文链接:https://blog.csdn.net/u012542647/article/details/79401485 今天要给大家介绍一个神器,就是谷歌浏览器(Chorme)自带的前端调试工具 ...

随机推荐

  1. iOS 7.1 UITableView添加footerView 后 最后一行分割线无法显示

    今天用故事版 遇到个奇怪的问题: 我要用 tbView(tableView)展示写信息.最后一行我要显示些文案什么的.考虑用 footerView ,开心coding ..,show下 哪里有些不对吧 ...

  2. Scala 深入浅出实战经典 第42讲:scala 泛型类,泛型函数,泛型在spark中的广泛应用

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-64讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...

  3. vim 光标按行移动

    记录一下: [ H/M/L ] 注意:这几个命令是大写的. 使用H/M/L这三个键,可以让光标跳到当前窗口的顶部.中间.和底部,停留在第一个非空字符上.H命令和L命令前也可以加一个数字,但数字的含义不 ...

  4. React直出实现与原理

    前一篇文章我们介绍了虚拟DOM的实现与原理,这篇文章我们来讲讲React的直出. 比起MVVM,React比较容易实现直出,那么React的直出是如何实现,有什么值得我们学习的呢? 为什么MVVM不能 ...

  5. IP和端口的意义

    百科说明 在网络技术中,端口(Port)包括逻辑端口和物理端口两种类型.物理端口指的是物理存在的端口,如ADSL Modem.集线器.交换机.路由器上用 于连接其他网络设备的接口,如RJ-45端口.S ...

  6. 一种线程安全的handle

    对象引用的正确性在多线程环境下是一个复杂的问题,请参考,处理由引用计数引起的泄漏.简单来说,我们应该尽量减少使用强引用,否则将有可能产生[处理由引用计数引起的泄漏]一文中描述的难以察觉的内存泄漏问题. ...

  7. 最后关于Pipeline完整的图如下:

    最后关于Pipeline完整的图如下:

  8. Schema Workbench 开发mdx和模式文件

    一.前言 安装了saiku之后,每次修改schema文件,非常耗时,每次都要经历若干步骤:修改xml.上传.重启才能生效,并且非常不利于学习和理解MDX和模式文件,踌躇之际,发现了这个工具,十分小巧方 ...

  9. java匿名类

    一般情况下,我们需要声明一个类去继承一个接口,然后再new这个类,赋值给接口.但有时后这个类只会被调用一次,为了调用方便,那么就可以用匿名类来简化这个步骤. interface IKey{ void ...

  10. linux的文件种类与扩展名

    一.文件种类: 1.普通文件(regular file)第一个字符为[ - ] 包括:①纯文本档(ASCII):这是Linux系统中最多的一种文件类型,称为纯文本档.是因为内容为我们人类可以直接读到的 ...