谷歌浏览器调试工具使用基础版(一)

2023-05-16

知识采集出处

一. 先来认识一下这些按钮

先来看这张图最上头的一行是一个功能菜单,每一个菜单都有它相应的功能和使用方法,依次从左往右来看

1.箭头按钮:用于在页面选择一个元素来审查和查看它的相关信息,当我们在Elements这个按钮页面下点击某个Dom元素时,箭头按钮会变成选择状态

2.设备图标:点击它可以切换到不同的终端进行开发模式,移动端和pc端的一个切换,可以选择不同的移动终端设备,同时可以选择不同的尺寸比例,chrome浏览器的模拟移动设备和真实的设备相差不大,是非常好的选择

可选择的适配

3.Elements 功能标签页:用来查看,修改页面上的元素,包括DOM标签,以及css样式的查看,修改,还有相关盒模型的图形信息,下图我们可以看到当我鼠标选择id 为lg_tar的div元素时,右侧的css样式对应的会展示出此id 的样式信息,此时可以在右侧进行一个修改,修改即可在页面上生效, 灰色的element.style样式同样可以进行添加和书写,唯一的区别是,在这里添加的样式是添加到了该元素内部,实现方式即:该div元素的style属性,这个页面的功能很强大,在我们做了相关的页面后,修改样式是一块很重要的工作,细微的差距都需要调整,但是不可能说做到每修改一点即编译一遍代码,再刷新浏览器查看效果,这样很低效,一次性在浏览器中修改之后,再到代码中进行修改

  • 对应的样式

  • 盒模型信息

同时,当我们浏览网站看到某些特别炫酷的效果和难做的样式时候,打开这个功能,我们即可看到别人是如何实现的,学会它这知识就是你的了,仔细钻研也会有意想不到的收获

4.Console控制台:用于打印和输出相关的命令信息,其实console控制台除了我们熟知的报错,打印console.log信息外,还有很多相关的功能,下面简单介绍几个:

a: 一些对页面数据的指令操作,比如打断点正好执行到获取的数据上,由于数据都是层层嵌套的对象,这个时候查看里面的key/value不是很方便,即可用这个指令开查看,obj的json string 格式的key/value,我们对于数据里面有哪些字段和属性即可一目了然

其他功能

b: 除了console.log还有其他相关的指令可用

console也有相关的API

5.Sources js资源页面:这个页面内我们可以找到当然浏览器页面中的js 源文件,方便我们查看和调试,在我还没有走出校园时候,我经常看一些大站的js代码,那时候其实基本都看不懂,但是最起码可以看看人家的代码风格,人家的命名方式,所有的代码都是压缩之后的代码,我们可以点击下面的{}大括号按钮将代码转成可读格式

Sources Panel 的左侧分别是 Sources 和 Content scripts和Snippets

  • 对应的源代码

  • 格式化后的代码

关于打断点调试的内容,下面介绍,先来说一些,其他平时基本没人用但是很有用的小点,比如当我们想不起某个方法的具体使用时候,会打开控制台随意写一些测试代码,或者想测试一下刚刚写的方法是否会出现期待的样子,但是控制台一打回车本想换行但是却执行刚写的半截代码,所以推荐使用Sources下面的左侧的Sinppets代码片段按钮,这时候点击创建一个新的片段文件,写完测试代码后把鼠标放在新建文件上run,再结合控制台查看相关信息(新建了一个名叫:app.js的片段代码,在你的项目环境页面内,该片段可执行项目内的方法)

  • 自己书写的片段

Content scripts 是 Chrome 的一种扩展程序,它是按照扩展的ID来组织的,这些文件也是嵌入在页面中的资源,这类文件可以读写和操作我们的资源,需要调试这些扩展文件,则可以在这个目录下打开相关文件调试,但是几乎我们的项目还没有相关的扩展文件,所以啥也看不到,平时也不需要关心这块

无结果

6.Network 网络请求标签页:可以看到所有的资源请求,包括网络请求,图片资源,html,css,js文件等请求,可以根据需求筛选请求项,一般多用于网络请求的查看和分析,分析后端接口是否正确传输,获取的数据是否准确,请求头,请求参数的查看

  • 所有的资源

以上我选择了All,就会把该页面所有资源文件请求下来,如果只选择XHR 异步请求资源,则我们可以分析相关的请求信息

  • 请求的相关信息

打开一个Ajax异步请求,可以看到它的请求头信息,是一个POST请求,参数有哪些,还可以预览它的返回的结果数据,这些数据的使用和查看有利于我们很好的和后端工程师们联调数据,也方便我们前端更直观的分析数据

  • 预览请求的数据

7.Timeline标签页可以显示JS执行时间、页面元素渲染时间,不做过多介绍

8.Profiles标签页可以查看CPU执行时间与内存占用,不做过多介绍

9.Resources标签页会列出所有的资源,以及HTML5的Database和LocalStore等,你可以对存储的内容编辑和删除 不做过多介绍

10.Security标签页 可以告诉你这个网站的安全性,查看有效的证书等

11.Audits标签页 可以帮你分析页面性能,有助于优化前端页面,分析后得到的报告

  • 分析结果

二.Sources资源页面的断点调试

1.如何调试:

调试js代码,肯定是我们常用的功能,那么如何打断点,找到要调试的文件,然后在内容源代码左侧的代码标记行处点击即可打上一个断点

2.断点与 js代码修改

看下面这张图,我在一个名为toggleTab的方法下打了两个断点,当开始执行我们的点击切换tab行为后,代码会在执行的断点出停下来,并把相关的数据展示一部分,此时可以在已经执行过得代码处,把鼠标放上去,即可查看相关的具体数据信息,同时我们可以使用右侧的功能键进行调试,右侧最上面一排分别是:暂停/继续、单步执行(F10快捷键)、单步跳入此执行块(F11快捷键)、单步跳出此执行块、禁用/启用所有断点。下面是各种具体的功能区

  • 在代码中打断点

在当前的代码执行区域,在调试中如果发现需要修改的地方,也是可以立即修改的,修改后保存即可生效,这样就免去了再到代码中去书写,再刷新回看了

临时修改

3.快速进入调试的方法

当我们的代码执行到某个程序块方法处,这个方法上可能你并没有设置相关的断点,此时你可以F11进入此程序块,但是往往我们的项目都是经过很多源代码封装好的方法,有时候进入后,会走很多底层的封装方法,需要很多步骤才能真正进入这个函数块,此时将鼠标放在此函数上,会出现相关提示,会告诉你在该文件的哪一行代码处,点击即可直接看到这个函数,然后临时打上断点,按F10或者点击右上角的第二个按钮即可直接进入此函数的断点处

4.调试的功能区域

每一个功能区,都有它相关的左右,先来看一张图,它都有哪些功能

Call Stack调用栈:当断点执行到某一程序块处停下来后,右侧调试区的 Call Stack 会显示当前断点所处的方法调用栈,从上到下由最新调用处依次往下排列,Call Stack 列表的下方是Scope Variables列表可以查看此时局部变量和全局变量的值。图中可以看出,我们最先走了toggleTab这个方法,然后走到了一个更新对象的方法上,当前调用在哪里,箭头会帮你指向哪里,同时我们可以点击,调用栈列表上的任意一处,即可回头再去看看代码

但是若你想从新从某个调用方法出执行,可以右键Restart Frame, 断点就会跳到此处开头重新执行,Scope 中的变量值也会依据代码从新更改,这样就可以回退来从新调试,错过的调试也可以回过头来反复查看

Breakpoints关于断点:所有当前js的断点都会展示在这个区域,你可以点击按钮用来“去掉/加上”此处断点,也可以点击下方的代码表达式,调到相应的程序代码处,来查看

XHR Breakpoints

在XHR Breakpoints处,点击右侧的+号,可以添加请求的URL,一旦 XHR 调用触发时就会在 request.send() 的地方中断

DOM Breakpoints:

可以给你的DOM元素设置断点,有时候真的需要监听和查看某个元素的变化情况,赋值情况,但是我们并是不太关心哪一段代码对它做的修改,只想看看它的变化情况,那么可以给它来个监听事件,这个时候DOM Breakpoints中会如图

当要给DOM添加断点的时候,会出现选择项分别是如下三种修改1.子节点修改2.自身属性修改3.自身节点被删除。选中之后,Sources Panel 中右侧的 DOM Breakpoints 列表中就会出现该 DOM 断点。一旦执行到要对该 DOM 做相应修改时,代码就会在那里停下来

Event listener Breakpoints 

最后Event Listener 列表,这里列出了各种可能的事件类型。勾选对应的事件类型,当触发了该类型的事件的 JavaScript 代码时就会自动中断

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

谷歌浏览器调试工具使用基础版(一) 的相关文章

  • 给logcat添加额外的输出

    打logcat的时候 xff0c 通常是需要排bug的时候 我们希望知道这是什么固件 xff0c 系统已运行多久当前的内存情况等信息 可以这么改 system core logcat logcat cpp void dumpSysInfo
  • Chromium源码获取与编译--附加一个简单例子的编译

    从工作到现在 xff0c 一直弄界面相关的东西 xff0c 弄了好多年 xff0c 包括前公司也买了一套UI xff0c 但是用下来以后发现不是这个问题就是那个问题 现在新的公司还在用MFC MFC其实没什么不好 xff0c 就是不能改源码
  • windows下使用cmake编译zlib与libpng 留此备份

    首先准备工具 cmake http www cmake org cmake resources software html zlib http www zlib net libpng http www libpng org pub png
  • opengl下png图片的加载与显示

    首先说明 部分代码来自http www cnblogs com IamEasy Man archive 2009 12 14 1624023 html 至于里面的源地址什么的我不管 然后吐槽 xff0c 国内的资料各种坑爹 xff0c 竟没
  • opengl透明mask图片做蒙版效果的实现

    hello xff0c 朋友们 xff0c 我又来了 xff0c 还记得上篇文章提到的事情否 xff1f 没错 xff0c 加载png只是第一步 xff0c 接下来要实现用mask图扣掉png中不需要的部分 xff08 也就是cocos2d
  • Unity3d 5.3.5使用sqlite3

    国内讲的乱七八糟 xff0c 更有故作神秘提供Mono Data Sqlite dll System Data dll的 xff0c 就是不告诉你这两文件在哪里 我很无语 看国外的 xff0c 多靠谱 http answers unity3
  • Zabbix 监控主机是否在线

    最近有点忙 xff0c 很久没有更新博客了 今天这篇文章主要记录如何通过zabbix监控一台主机是否在线 好啦开干 1 新建一个模板 新建模板的目的是在新模板上添加 监控项 和 触发器 的 xff0c 如果你要监控的主机数量非常少的话 xf
  • VSCODE 使用SSH远程连接(Windows10)

    开启Windows10的SSH功能 点击开始菜单 gt 设置 gt 应用 gt 应用和功能 gt 可选功能 gt 添加功能 xff1b 添加OpenSSH 客户端 和 OpenSSH 服务器 然后cmd 输入ssh xff0c 一般会出现下
  • Jetson NX emmc版本系统转移到SSD

    因emmc版本的NX自带内存不够大 xff0c 只有16GB xff08 手上的是这个型号 xff09 xff0c 安装系统大概需要除去4G多内存 xff0c 再安装CUDA cuDNN TensorRT等内存直接爆满 无法继续使用 所以需
  • unix 修改文件类型

    Unix及类Unix系统里 xff0c 每行结尾只有换行 n xff1b Windows系统里面 xff0c 每行结尾是换行 43 回车 n r 第一种 xff1a 利用Linux下的vim编辑器 xff0c 可以方便的在dos文件 uni
  • DIR=$(cd `dirname $0`; pwd)

    dirname 0 xff0c 获取当前脚本所在绝对目录 cd 96 dirname 0 96 xff0c 进入这个目录 xff08 切换当前工作目录 xff09 pwd xff0c 显示切换后脚本所在的工作目录 echo xff0c 打印
  • ulimit命令的使用

    ulimint a 用来显示当前的各种用户进程限制 Linux对于每个用户 xff0c 系统限制其最大进程数 xff0c 为提高性能 xff0c 可以根据设备资源情况 xff0c 设置个Linux用户的最大进程数 xff0c 一些需要设置为
  • error while loading shared libraries: libavformat.so.58: cannot open shared object file: 解决

    sutpc icvtsn dfa error while loading shared libraries libavformat so 58 cannot open shared object file No such file or d
  • Git 检测不到文件目录下的文件变化信息

    Git在上传代码的时候发现有的只能检测出某个目录 xff0c 然而检测不到那个目录下的C文件和h文件 并且git 提交之后 xff0c 在git上某个文件有后缀 64 b4c4u7之类的 这种文件没办法点击 没办法查看 xff0c 根本无法
  • Linux 搭建MQTT服务器并使用

    环境 xff1a ubuntu 18 04 1 安装必备软件 span style background color f6f6f6 span style color 121212 yum install gcc c 43 43 cmake
  • 批量ping多个IP地址

    for L D in 90 1 95 do ping 10 10 70 D gt gt ping log 代码的意思如下 xff1a 代码中的这个 90 1 95 就是网段起与始 xff0c 就是检测网段10 10 70 90到10 10
  • Linux驱动开发一

    一 开发模块框架 1 xff09 编写源代码 include lt linux init h gt include lt linux module h gt 加载函数 static int init hello init void prin
  • ”此网站尚未经过身份验证“问题的解决办法

    在使用 https 访问我的路由器时出现无法访问的现象 xff0c 下图是浏览器的告警信息 xff0c 目前通过百度 此网站尚未经过身份验证 并没有找到解决方案 而我的另一台笔记本电脑却可以通过 https 打开路由器的配置管理页面 xff
  • linux的yum更新方式update和upgrade

    Linux升级命令有两个分别是yum upgrade和yum update 这个两个命令是有区别的 代码如下 yum y update 升级所有包同时也升级软件和系统内核 代码如下 yum y upgrade 只升级所有包 xff0c 不升

随机推荐

  • Linux驱动开发二

    2 xff09 创建设备节点 gt 手动创建设备节点 mknod 设备名 设备类型 主设备号 次设备号 mknod dev hello c 254 0 gt 自动创建设备节点 创建类 class create owner name 参数1
  • SO_BINDTODEVICE 使用

    就绑定到了接口 34 lmi40 34 上 所有数据报的收发都只经过这个网卡 对于SOL BINDTODEVICE的总结如下 xff08 1 xff09 对于TCP套接口 UDP套接口 RAW套接口 xff0c 可以通过SO BINDTOD
  • json交叉编译并移植到嵌入式开发板

    1 解压 xff1a tar xvf json c 0 9 tar gz 默认解压在当前目录 2 进入解压后的目录 xff1a cd cd json c 0 9 3 执行 xff1a sudo configure CC 61 aarch64
  • strftime()函数的使用方法

    strftime strftime是C语言标准库中用来格式化输出时间的的函数 Ubuntu自带的manual手册说法如下 xff0c 截图没有截全 xff0c 需要更详细信息的自行查看相关的内容 下面是strftime的用法 示例代码如下
  • tcpdump 抓包

    一 Tcpdump抓包 抓取端口为2008的数据包 抓包文件内容 抓取到的内容保存在文件中 xff0c 可以通过wireshark分析 二 tcpdump的一些命令 tcpdump和ethereal可以用来获取和分析网络通讯活动 xff0c
  • wireshark抓包工具的使用

    前言 wireshark是非常流行的网络封包分析软件 xff0c 功能十分强大 可以截取各种网络封包 xff0c 显示网络封包的详细信息 使用wireshark的人必须了解网络协议 xff0c 否则就看不懂wireshark 为了安全考虑
  • Docker 在Ubuntu的安装

    系统要求 Docker 支持以下版本的 Ubuntu 操作系统 xff1a Ubuntu Hirsute 21 04Ubuntu Groovy 20 10Ubuntu Focal 20 04 LTS Ubuntu Bionic 18 04
  • Notepad++ 如何筛选内容

    在程序调试的过程中 xff0c 通常会通过抓取日志来分析 xff0c 但实际情况抓取的日志会很多 xff0c 如何在众多的日志中筛选出自己想要的内容呢 xff0c 我们可以通过notepad打开日志 xff0c 然后进行筛选 1 通过ctr
  • Jetson Nano emmc版本系统镜像备份和烧录

    一 镜像备份 1 xff0e 将待复制的jetson设备进入恢复模式 xff0c 用数据线连接jetson设备和主机 对于原厂开发板将FC REC引脚与GND短接 xff0c 通过micro usb到usb数据线连接到电脑 在电脑的ubun
  • Ubuntu系统永久挂载硬盘、U盘等存储设备

    在日常开发工作中 xff0c 经常会遇见需要借助外接存储设备来存放一些数据的情况 xff0c 于是我们会使用如下命令来挂载 xff1a sudo mount dev sda2 mnt 这样挂载的弊端就是设备掉电之后 xff0c 之前挂载的设
  • ubuntu20.04 + kiosk + chrome打造一体机系统

    kiosk 的英文直译为凉亭 公用电话亭 报摊或者一体机的意思 目前主流的浏览器都具有kiosk模式 我们可以使用浏览器的kiosk模式加ubuntu操作系统在不增加任何软件的情况将我们的B S程序打造成一个一体机系统 1 前置条件 ubu
  • Ubuntu 增加swap交换内存

    一 创建虚拟内存 在实际开发中发现swap交换分区不够用了 xff0c 于是需要创建虚拟内存来增加交换分区的大小 在系统空闲空间位置创建swap虚拟内存专用文件夹 cd data 切到你想要创建交换分区的目录 mkdir swap 新建文件
  • 闲扯原码,补码和反码

    闲扯原码 xff0c 补码和反码 始发于 goal00001111 的专栏 xff1b 允许自由转载 xff0c 但必须注明作者和出处 人类习惯使用十进制数进行数值计算 xff0c 而计算机则采用二进制 xff0c 所以为了让计算机帮助人类
  • switch 无法启动软件,请在HOME菜单中再试一次

    本人的是11 0 1 0 18 1 xff0c 刚升级完成后所有游戏都提示 xff1a 无法启动软件 xff0c 请在HOME菜单中再试一次 xff1b 然后搜索一番之后亲测有效 1将如下资源下载到本地 xff0c 2解压后放到对应的文件夹
  • switch如何更新大气层,和进入hekate界面

    0 xff0c 使用windows xff0c 使用windows xff0c 使用windoes xff01 1 xff0c 下载hekate最新版 xff0c 下载最新版大气层固件 xff0c 替换掉SD卡对应地方的文件即可 xff0c
  • RxJava简单入门

    前言之前 span style color fe2c24 首先来认识一下接下来我们将要接触的关键单词 xff0c Observeable Observer subscrib国内基本都翻译成 xff0c 被观察者 xff0c 观察者 xff0
  • WebView加载网页出错:ERR_UNKNOWN_URL_SCHEME

    一 原因 因为webview只能识别http https这样的协议 xff0c 像一些微信 weixin 去哪儿 qunaraphone xff0c 他们自定义的协议webView是无法识别的 xff0c 因此就会出现 xff1a ERR
  • ESP32-CAM搭建Arduino及简单使用

    准备 需要一个ESP32 CAM模块 xff0c 我买的是这种 xff0c 下面带了个下载模块的 xff0c 接上USB就能用了 xff0c 很方便 xff0c 如果没有买下面那个那就得自行用USB TTL了 配置环境 有了硬件 xff0c
  • Failed resolution of: Landroidx/databinding/DataBinderMapperImpl;

    报错 xff1a Failed resolution of Landroidx databinding DataBinderMapperImpl 原因 xff1a lib工程gradle文件中加了dataBinding xff0c 且能使用
  • 谷歌浏览器调试工具使用基础版(一)

    知识采集出处 一 先来认识一下这些按钮 先来看这张图最上头的一行是一个功能菜单 xff0c 每一个菜单都有它相应的功能和使用方法 xff0c 依次从左往右来看 1 箭头按钮 xff1a 用于在页面选择一个元素来审查和查看它的相关信息 xff