谷歌浏览器调试工具的13个Tips

下面介绍如何更加高效的调试前端

chrome版本:版本 71.0.3578.98(正式版本) (64 位)

Tips1:console面板可以直接运行js

有时候我们想测试某段代码,就可以直接在console面板中执行就可以了。不需要再建立js,然后刷新浏览器。

1.png

如图,我直接输入console.log(123),可以直接看到结果。console就是一个小小的Snippet运行器。比如我想看A的Ascii码,直接F12,然后再console运行"A".charCodeAt(0);,你就可以获得你需要的。有时候,一些简单的数据处理(排序,归集)之类的,我就是直接在console处理的,非常快就能获得你需要的结果。或者你去Network面板,截取网站的js,然后修改js,直接在console面板运行,就可以达到修改源js的效果。

Tips2:快速到达某个元素的标签处。

以前我是这样选中一个页面元素的:
F12打开调试面板、开启元素选择器、选中需要的元素
然后,我发现可以直接对该元素右击,检查就可以直接到达对应元素标签处了。

选择元素2.gif

Tips3:快速清除指定网站的Cookie

因为chrome保存了很多我需要的cookie,所以我需要针对特定的网站进行清除。以前我是这样做的:
打开设置、高级、内容设置、Cookie、查看所有 Cookie 和网站数据
、搜索需要清除网站的cookie、点击删除

现在我是这样做的:
直接点击地址栏前面的“查看网站信息”、点击Cookie、清除。

删除cookie.gif

不过这样子就只能删除当前网站相关的cookie。

插件篇

Tips4:快速清除缓存

以前我清除缓存是:Ctrl+Shift+Delete(打开设置、高级、清除浏览数据)、勾选需要清除的数据、点击清除。
现在,我需要一个插件Clear Cache Shortcut。安装完成之后,只需要点击一下,就可以清除你之前勾选的需要清除的数据(就像之前我只勾选了缓存的图片和文件,那么点击就只帮你清除该项)。
其实还能更快,我们为这个插件添加一个快捷键
地址栏打开chrome://extensions/shortcuts

清除缓存.gif

之后,每次需要清除缓存,只需要按快捷键就可以清除了。

Tips5:快速切换至指定分辨率

这里需要一个插件:Window Resizer

分辨率.gif

同样,我们可以为各个分辨率设置对应的快捷键。所以开发的时候就可以快速切换了。
地址栏打开chrome://extensions/shortcuts,找到Window Resizer对应的快捷键。然后设置,设置完成之后,就可以使用了。预设好,开发的时候就能快速查看在各个分辨率下的效果了。
file.gif

Tips6:重新发起XHR请求

有时候我们需要调试后台的时候,需要让前台发起请求。大多数我们都是点击按钮触发(比如说保存,再点一次保存按钮就可以了)。不过如果那个请求没有绑定事件呢,如果想再次触发需要刷新页面,流程都跑 一遍。

不过,我们可以让某个请求重新发起。只需要进入Network面板、右键需要发起的请求、Replay XHR

xhr.gif

调试篇

Tips7:通过console面板查看全局变量相关的代码

有时候,我们想查看某个全局变量或者函数的代码,那么就可以通过console面板输入想查看的函数名称,然后双击,就可以直接到达对应的代码块了。比如下面,我想查看QRCode函数是怎么实现的,我就在console输入QRCode,然后双击,就可以了。同时,如果查看到压缩的代码,可以点击左下角的 {} ,chrome就帮你格式化了。

qrcode.gif

Tips8:通过请求查看发出请求的函数调用栈

有时候,我们调试别人写的代码,但是无从下手。我调试一般是从请求下手,然后通过请求能够找到对应代码处。

将鼠标移至需要查看请求的initiator处,就可以看到调用这个请求的全过程。然后如果是ajax请求,一般就在ajax的上面一层。或者通过文件名就可以大概看到哪一个是执行该请求的文件。然后点击进去,就能直接定位到发出请求的地方。然后就可以分析、调试代码了。

请求源码.gif

Tips9:快速查看相关的代码[传统引入,非webpack构建]

很多时候,代码是我们自己写的,但是我们并不知道相关的JavaScript在哪里?所以只要我们知道该js文件的名称,就能快速达到想要查看的代码。

比如,下面的很简单的结构。我们引人了test.js的文件。那么,调试该怎么下手呢?其实在chrome的page栏,为我们保存了原始的文件结构。我们只需要打开需要调试的资源文件。

文件结构.jpg

打开调试面板、打开source栏、点击open file(或者ctrl+p)、输入test.js,然后就可以开始进行调试了。

打开资源文件.gif

Tips10:开发时,通过Resource查看相关的代码[webpack构建]

个人接触的webpack项目不多。不知道是否会受webpack的配置影响。不过我这里配置下是可以这样调试的。

在webpack打包的项目中,因为代码都被压缩混淆了,所有我们调试有时候也是无从下手。不过,chrome也为我们完整的保留了压缩混淆前的代码结构。在Page下面的 webpack://. 栏目下。我们可以完整的看到原始项目的结构以及组件了。我们就可以针对需要的组件进行调试了。不过,值得注意的是,当我们修改这些组件的代码之后再运行,会发现还是运行原来的。因为chrome正在运行还是压缩混淆之后的代码。而你修改的只是副本之类的。
当然了,我们有更好的选择,那就是前端框架自带的调试工具。我几乎都是使用调试工具进行调试了。

webpack_Trim.gif

Tips11:不需要使用console来watch变量

以前,我调试都是通过console,将变量打印出来,当然这个是一个调试的好办法。不过呢,chrome一直就有一个调试面板,我们可以尝试使用它。

通过以上或者更多的方法,我们就可以到达了我们需要调试的地方。然后设置需要调试的断点。就可以像普通的IDE一样进行调试。下面,我这是了一个全局变量和局部变量。在断点处都能看到这些变量的情况。然后在右侧的watch中也能看到当前的局部变量和全局变量。另外,我们也可以直接修改代码,然后ctrl+s保存,然后运行的就是我们修改之后的代码了。

var.gif


Tips12:调试利用Call Stack,查看某个函数调用栈。

ezgif-1-38af0579d0bd.gif

Tips13:在调试中,终止当前运行的JavaScript。

长按 Resume按钮,就会出现一个下拉,有ResumeStop,当你选择了Stop,之后整个脚本就会停止运行。

ezgif-1-0e9220e80e5e.gif


Tips13:模拟弱网环境。

打开Network面板的online选项,可以看到几种网速预设:离线,fast 3G,slow 3G


image.png

选中slow 3G之后,速度就变得非常慢,1kb的json上传了10秒


image.png

同时还支持自定义限速(点击custome --> add):


image.png

Tips14:开启新页签自动打开console,方便调试。

有时候,我们调试某些网页是打开了新页签,如果没有及时打开console,那么我们就会错过刚刚打开新页签的那些请求,如果我们想观察那些请求怎么办呢?

  • 打开console的设置


    image.png
  • 开启弹出页签自动打开调试工具


    image.png
  • 在我们需要调试的跳转前的页签,打开调试工具,然后点击跳转的时候就会自动打开调试工具了。
    以上就是自己总结的经验,希望能够帮助到你更高效地开发
    之后想到其他的会继续更新
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,980评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,422评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,130评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,553评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,408评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,326评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,720评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,373评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,678评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,722评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,486评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,335评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,738评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,283评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,692评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,893评论 2 335

推荐阅读更多精彩内容

  • 前言 相信无论是对于身居一线的coder,还是退居多年的老司机managers来说,对于调试程序是不陌生的,对于w...
    itclanCoder阅读 2,557评论 0 7
  • 在做前端开发时,我们需要用到一些调试工具用来调试我们的HTML、CSS或者JS代码,俗话说预先善其事必先利其器,这...
    Rella7阅读 23,851评论 0 15
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,347评论 1 45
  • 忆祖母(二) ——伴读岁月 曾经有三年的时间,祖母付出了极大的心力和劳力来陪伴我整个中学时代。 我中学就读的学校没...
    千年小妖2018阅读 126评论 0 1
  • 外公和我东走西逛时,我们两个人看到的世界完全不同,外公有他的视野,我个子小,视野有限。他问候阳台上的朋友,我眼馋小...
    CNBLUEone阅读 125评论 0 0