百摩网
当前位置: 首页 生活百科

chrome开发模式详解(Chrome开发者工具的11)

时间:2023-06-17 作者: 小编 阅读量: 1 栏目名: 生活百科

截取网页上所有内容的屏幕快照,包括可视窗口中未显示的所有内容。精确捕获DOM元素的内容。这个时候,我们可以在Chrome使用相关命令来帮助我们完成此要求。单击每个屏幕截图可以显示相应的当前时间的网络请求状态。在被WHATWG撤消该名称之前,它们被称为“DataURI”。如果数组更长,元素内容很复杂,那么该数据将变得更加难以理解。幸运的是,Chrome提供了表格展示功能,可以将数组对象进行列表展示,方便理解。

本文作者从开发者角度出发,介绍了几个关于 Chrome 开发者工具的高级用法。熟练使用这些高级用法可以大大地提高你的生产力。如果你选择 Chrome 作为开发环境,那么你应该知道下面关于它的 11 个使用技巧。

图片来源 Morning Brewon,Unsplash

好了,现在由于某种原因,你最终选择了 Chrome 浏览器作为开发及调试的环境。接下来,打开开发者工具并开始调试代码。

很多时候你可以打开“控制台”面板来检查程序的输出,或者打开“元素”面板来检查 DOM 元素的 CSS 代码。

但是你真的了解 Chrome 开发者工具吗?实际上,它提供了许多强大但很多人未知的功能,可以极大地提高我们的开发效率。

在这里,我将介绍几个最有用的功能,希望能对你有所帮助。

在开始之前,我想介绍一下 Chrome 的命令菜单。命令菜单之于 Chrome,就像 Shell 之于 Linux 一样。你可以在键盘敲入相应命令来操作 Chrome。

首先,我们打开 Chrome 开发者工具,然后使用以下快捷键打开命令菜单:

  • windows:CtrlShiftP
  • macOS:CmdShiftP

或者我们可以按照下图所示的步骤将其打开:

然后,我们可以转到“命令”面板,在这里我们可以输入一些命令来执行很多强大的功能。

1. 强大的屏幕截图

捕获屏幕内容是一个非常常见的功能需求,当然我非常确定在你当前的计算机上已经有了非常方便的截图工具了。但是,你可以完成以下任务吗?

  • 截取网页上所有内容的屏幕快照,包括可视窗口中未显示的所有内容。
  • 精确捕获 DOM 元素的内容。

这是两个很普通的要求,但是使用操作系统随附的屏幕截图工具不太容易解决。这个时候,我们可以在 Chrome 使用相关命令来帮助我们完成此要求。

上面两个需求的对应的命令是:

  • Screenshot Capture full size screenshot
  • Screenshot Capture node screenshot

举个例子

现在可以打开任意的网页,例如,Medium 上 JavaScript 的热门文章页面。

https://medium.com/tag/javascript

打开“命令”菜单并执行Screenshot Capture full size screenshot。

然后,我们可以就获得当前页面的完整屏幕截图了。

上面的原始图像实际上非常清晰,只是在这里我上传了压缩图像以节省你的流量。

同样地,如果要截取某个 DOM 元素的屏幕截图,就完全可以使用系统自带的屏幕截图工具,但当窗口不能完全捕获该元素内容时,此时,你可以使用Capture node screenshot命令。

首先,我们在“元素”面板中选择一个元素,然后运行Capture node screenshot命令,如下图所示。

下面是准确的屏幕截图的结果:

2. 在控制台中引用上一次的执行结果

我们常常需要在控制台中调试代码。比如你想知道如何在 JavaScript 中反转字符串,然后你在网络上搜索相关信息并找到以下代可行代码。

'abcde'.split('').reverse().join('')

没问题,上面的代码确实对字符串进行了翻转。但你还想了解 split()、reverse()、join() 这些方法的作用以及运行他们的中间步骤的结果。因此,现在你想逐步执行上述代码,可能会编写如下内容:

好了,经过上面这些操作,我们确实知道了每个方法运行的返回值,也就了解了各个方法的作用。

但是,这给人的感觉有点多此一举。上面的做法既容易出错,又难以理解。实际上,在控制台中,我们可以使用魔术变量$_引用上一次操作的结果。

$_是一个特殊变量,它的值始终等于控制台中上一次操作的执行结果。它可以让你更加优雅地调试代码。

3. 重新发送 XHR 请求

XHR,即 XMLHttpRequest,是一种创建 AJAX 请求的 JavaScript API 。

在我们的前端项目中,我们经常需要使用 XHR 向后端发出请求来获取数据。如果你想重新发送 XHR 请求,那么该怎么办呢?

对于新手来说,可能会选择刷新页面,但这可能比较麻烦。实际上,我们可以直接在“网络”面板中进行调试。

  • 打开“网络”面板
  • 单击 XHR 按钮
  • 选择要重新发送的 XHR 请求
  • 重放 XHR 请求

下面是一个 gif 示例,方便你理解:

4. 监控页面加载状态

从一开始完全加载页面可能需要十秒钟以上的时间。我们有时需要监控页面在不同的时间点相关资源的加载行为。

在 Chrome 开发者工具中,我们可以使用“网络”面板下的Capture Screenshots功能来捕获页面加载时的屏幕截图。

单击每个屏幕截图可以显示相应的当前时间的网络请求状态。这种可视化的演示会让你更好地了解网络请求的详细过程。

5. 复制变量

你可以将 JavaScript 变量的值复制到其他地方吗?

这似乎是不可能完成的任务,但是在 Chrome 浏览器中,有一个名为copy的函数可以帮助你实现这个功能。

该copy函数不是由 ECMAScript 定义的,而是由 Chrome 浏览器提供的。使用此功能,你可以将 JavaScript 变量的值复制到你的剪贴板中,方便在其他位置使用。

6. 将复制图像为 Data URI

处理网页上的图像的通常有两种方法,一种是通过外部资源链接加载它们,另一种是将图像编码为 Data URI。

Data URL,即前缀为data:协议的 URL,允许内容创建者在文档中嵌入小文件。在被 WHATWG 撤消该名称之前,它们被称为“Data URI”。

将这些小图像编码到 Data URL 并将它们直接嵌入到我们的代码中,可以减少页面需要发出的 HTTP 请求的数量,从而加快页面加载速度。

所以在 Chrome 浏览器中,我们该如何将图像转换为 Data URL 呢?可以参考下面的 gif 图像:

7. 表对象数组

假设我们有一个下面这样的数组对象:

let users = [{name: 'Jon', age: 22},{name: 'bitfish', age: 30},{name: 'Alice', age: 33}]

这样的数组在控制台中不容易查看阅读。如果数组更长,元素内容很复杂,那么该数据将变得更加难以理解。

幸运的是,Chrome 提供了表格展示功能,可以将数组对象进行列表展示,方便理解。

在很多情况下,该功能非常好用。

8. 在“元素”面板对 DOM 元素进行拖放

有时我们想调整页面上某些 DOM 元素的位置以测试 UI。在“元素”面板中,你可以拖放任何 HTML 元素来更改其在页面中的显示位置:

上面的展示中,在“元素”面板中将某个 div 的位置拖动到其他位置,它在网页上的展示位置就会同步更改。

9. 在控制台中引用当前选定的 DOM 元素

$0是另一个魔术变量,它会引用“元素”面板中当前选定的 DOM 元素。

10. CSS 样式触发

CSS 伪类不仅可以让你将样式应用于文档树内容,还可以将其应用于外部元素,例如导航器的历史记录(例如:visited),其内容的状态( 例如某些表单元素的:checked),或鼠标的位置(例如:hover,它可以让你知道当前鼠标是否在某个元素内容之上)。

我们可能为一个元素编写多个 CSS 伪类,并且为了方便我们对这些样式进行测试,我们可以直接在“元素”面板中选择触发或关闭这些样式。

举个例子

下面有一个测试网页:

我们在浏览器中将其打开,然后通过“元素”面板对 CSS 样式进行调试。

隐藏元素的快捷方式

在调试 CSS 样式时,我们通常需要隐藏一个元素。如果选择元素并按下键盘上的H键,我们就可以快速隐藏该元素。

此操作实际上增加了visibility: hidden !important;样式到对应的元素上面。

11. 将 DOM 元素存储在全局临时变量中

如果要想在控制台中快速获取某个 DOM 元素的引用,可以执行以下操作:

  • 选择某个元素
  • 右键点击鼠标
  • 存储为全局变量

以上就是我想要介绍的 Chrome 开发者工具的高级用法,希望可以帮助到你。

作者介绍:

bitfish,Medium 平台社区编辑,爱好阅读、写作和编程。

原文链接:

https://medium.com/javascript-in-plain-english/use-chrome-devtools-like-a-senior-frontend-developer-99a4740674

    推荐阅读
  • 泰勒公式初一讲解(无所不能的泰勒定理)

    看懂我的这篇文章,保你考试没问题。此外,有些复杂的极限求解,如果用上泰勒展开,也会显得轻而易举,毕竟泰勒定理诠释了数学中的统一美,将任何可导的函数均统一成了一组多项式,打破了不同函数之间的隔阂,实现了“一统天下”!

  • 保温杯可以装咖啡吗(咖啡可以用保温杯装吗)

    接下来我们就一起去研究一下吧!咖啡里有一种叫单宁酸的酸性物质,会造成保温杯的轻度损伤,容易和不锈钢材质产生化学反应,并且咖啡经过长期的保温加热会破坏口感。不要使用保温杯盛装气泡、碳酸饮料,以免开启时压力过大而喷出。此外,清洗保温杯时最好避免使用钢刷或菜瓜布,以免造成瓶内刮痕而使饮料色素或异味附着,而减少保温杯的使用年限。

  • 产妇可以喝祛湿茶(产妇喝祛湿茶好不好)

    哺乳期期间不要喝这些东西对母乳喂养和对母体都有一定的影响容易影响母乳的质量也容易导致母体腹泻,月子期间要注意饮食清淡注意增加营养满月之后再进行调理,接下来我们就来聊聊关于产妇可以喝祛湿茶?容易影响母乳的质量也容易导致母体腹泻,月子期间要注意饮食清淡。在哺乳期一定要注重饮食安全,在不完全确定能够保障哺乳期健康的情况下,尽量不要去吃一些具有药效作用的食物饮品。

  • 好吃不油的桃酥怎么做(好吃易做超简单的桃酥做法)

    好吃不油的桃酥怎么做所用材料:面粉230克,鸡蛋1个,泡打粉2克,小苏打2克,白糖60克,花生油100克。把玉米油,鸡蛋,白糖一起放到盆里,用蛋抽搅打均匀,充分的乳化。把面粉过筛,筛入到搅拌好的液体中,用硅胶铲充分拌匀,成为一个面团。用手揪成大小差不多的小剂子,团成圆球,按扁。把桃酥的中间撒上黑芝麻,用手指按一下,防止黑芝麻掉落。烤箱上下火180度烤制15分钟,表面发黄,烤透,出炉即成。

  • 湿厕纸怎么用(怎么用湿厕纸)

    以下内容希望对你有帮助!湿厕纸怎么用想要使用湿厕纸的话,只要在上完厕所之后,按照使用普通厕纸的方法来用它擦屁股即可。湿厕纸是一种湿润、柔软而且更具清洁力的物品。除此之外,湿厕纸在使用完之后还可以直接丢入厕所中,因为湿厕纸是可以被冲散、分解的,所以我们在使用湿厕纸的时候是不用像使用湿巾纸时那样担心它会堵住厕所的。

  • 机场英语常用语(超实用的机场英文)

    记住这两个句式,一个在机场和陌生人确认身份的情景对话你就可以轻松应对啦!↓Ihopeyoucanenjoyyourstayhere.希望您在此逗留期间能过得愉快。Yourflightisnowboarding.您的航班开始登机了。↓挥手再见时说一句:Haveanicetrip!↓对方也一定会对我们表示感谢:Thankyouforwhatyou'vedoneformeduringmystay.非常感谢你在我逗留期间为我做的一切。关注VixueTalk,每天提升口语能力!感谢小伙伴们的支持!

  • 岁月温柔以待不负流年什么意思(岁月温柔以待不负流年何种意思)

    下面内容希望能帮助到你,我们来一起看看吧!岁月温柔以待不负流年什么意思岁月温柔以待,不负流年的意思是:往后余生,就是说以后剩下的人生。以后不会辜负岁月了,只是听起来很文艺的感觉,意思还是珍惜生活。不负温柔的意思是不要辜负了一个人对你的感情,一个爱你的人,如果你喜欢就接受他,但是不要辜负她对你的爱女人最大的心愿,无非是找到一个真心爱自己的人。

  • 义乌有那些地区(义乌地区有一种)

    图片与内容无关,请勿对号入座)民国时期,浙江义乌地区出现一种巨大的灯,名为“大珠灯”。在寻找的过程中,村内的老人告诉村主任一个重要消息,村内有一座清代的老建筑光裕堂,阁楼上有一个大珠灯,这个珠灯已经被藏50多年了。如果我们有幸去到尚阳村,一定要去看一看这件大珠灯。

  • 经期经血规律代表什么(女性生理期的周期)

    但是很多女性在生理期期间都会有身体不舒服的现象,比如说呕吐,拉肚子,肚子疼,全身没有力气,脾气暴躁的情况。说明我们的子宫有着病变,如果我们不及时去医院进行检查好,我们很有可能会小病拖成大病。这时候,我们体内的雌激素水平可能已经我们需要去医院检查,这样才能保障我们的身体健康。所以大家并不要在意自己月经的长短,三天到七天之内都是十分正常,我们更应该注意的,应该是在生理期期间,需要注意的饮食。

  • 明朝的城门遗址(古镇奇闻血)

    由此向西是奥兰治街,街西有条小河,游人在里撑篙泛舟,尽情享受着坎特伯雷小镇的鸟语花香。这座保存完好的古城门建于1379年,高18米,是全英格兰现存最大的中世纪城门,也是坎特伯雷七座古城门中唯一保存至今的一座。他的一部《坎特伯雷故事集》在英国可谓家喻户晓,如今在坎特伯雷小镇里还有一个专门介绍他这部作品的坎特伯雷故事中心。它最早建于1066年,那一年征服者威廉在黑斯廷斯战役获胜后开创了英国的诺曼王朝。