您可能不知道的一些跨浏览器 DevTools 功能

简介: 很多人会在 DevTools 上花了很多时间,我相信你也一样。有时我甚至在它们之间来回切换,特别是当我调试跨浏览器问题时。DevTools 很像浏览器本身 - 并非一个浏览器的 DevTools 中的所有功能都与另一种浏览器的 DevTools 相同或受支持。

但有相当多的 DevTools 功能是可互操作的,甚至是一些鲜为人知的功能。

为了简洁起见,我在本文中使用“Chromium”来指代所有基于 Chromium 的浏览器,例如 Chrome、Edge 和 Opera。其中的许多 DevTools 提供了彼此完全相同的特性和功能,所有以下提到的,都是简称哈。

搜索 DOM 树中的节点

有时,DOM 树充满了嵌套在其他节点中的节点,等等。Cmd这使得找到您要查找的确切内容变得非常困难,但您可以使用+ F(macOS) 或Ctrl+ (Windows)快速搜索 DOM 树F

此外,您还可以使用有效的 CSS 选择器(例如 ).red或使用 XPath(例如 )进行搜索//div/h1

image.png

在 Chrome DevTools 中搜索文本(左)、在 Firefox DevTools 中搜索选择器(中)以及在 Safari DevTools 中搜索 XPath(右)

在 Chromium 浏览器中,焦点会在您键入时自动跳转到与搜索条件匹配的节点,如果您正在处理较长的搜索查询或较大的 DOM 树,这可能会很烦人。幸运的是,您可以通过转到设置( F1) →首选项全局键入时搜索禁用来禁用此行为。

在 DOM 树中找到节点后,可以通过右键单击节点并选择“滚动到视图”来滚动页面以将节点带入视口中。

从控制台访问节点

DevTools 提供了许多不同的方法来直接从控制台访问 DOM 节点。

例如,您可以使用$0`来访问 DOM 树中当前选定的节点。Chromium 浏览器更进一步,允许您使用 、`$1$2`、`$3等访问按历史选择的时间顺序逆序选择的节点。

image.png

Chromium 浏览器允许您做的另一件事是将节点路径复制为 JavaScript 表达式,方法是document.querySelector右键单击节点,然后选择CopyCopy JS path,然后可用于在控制台中访问该节点。

这是直接从控制台访问 DOM 节点的另一种方法:作为临时变量。右键单击节点并选择一个选项即可使用此选项。该选项在每个浏览器的开发工具中都有不同的标记:

  • Chromium:右键单击→“存储为全局变量”
  • Firefox:右键单击→“在控制台中使用”
  • Safari:右键单击→“日志元素”

image.png

在控制台中将节点作为临时变量访问,如 Chrome(左)、Firefox(中)和 Safari(右)中所示

使用徽章可视化元素

DevTools 可以通过在节点旁边显示徽章来帮助可视化与某些属性匹配的元素。徽章是可点击的,不同的浏览器提供各种不同的徽章。

Safari中,元素面板工具栏中有一个徽章按钮,可用于切换特定徽章的可见性。例如,如果节点应用了display: griddisplay: inline-gridCSS 声明,则grid其旁边会显示一个徽章。单击徽章将在页面上突出显示网格区域、轨道大小、行号等。

image.png

Safari DevTools 中带有徽章的网格覆盖

Firefox源文档中列出了 Firefox 开发工具当前支持的徽章。例如,徽章表示可滚动元素。单击徽章会突出显示导致溢出的元素,并在其旁边显示一个徽章。scroll``overflow

image.png

Chromium浏览器中,您可以右键单击任何节点并选择 “徽章设置...” 以打开一个列出所有可用徽章的容器。例如,带有 的元素旁边scroll-snap-type会有一个徽章,单击该徽章将切换该元素上的叠加层。scroll-snap``scroll-snap

image.png

截图

我们已经能够从一些开发工具中截取屏幕截图一段时间了,但现在所有这些工具都可以使用它,并且包括截取全页屏幕截图的新方法。

该过程首先右键单击要捕获的 DOM 节点。然后选择捕获节点的选项,该节点的标签根据您使用的开发工具而有所不同。

image.png

Chrome(左)、Safari(中)和 Firefox(右)

在节点上重复相同的步骤html即可截取全页屏幕截图。不过,当您这样做时,值得注意的是 Safari 保留了元素背景颜色的透明度 - Chromium 和 Firefox 会将其捕获为白色背景。

image.png

比较 Safari(左)和 Chromium(右)中的屏幕截图

还有另一种选择!您可以拍摄页面的“响应式”屏幕截图,这允许您以特定的视口宽度捕获页面。正如您所料,每个浏览器都有不同的方法来实现这一目标。

  • ChromiumCmd++ (macOS) 或Shift+ + ( Windows)。或者单击“检查”图标旁边的“设备”图标。M``Ctrl``Shift``M
  • Firefox:工具→浏览器工具→“响应式设计模式”
  • Safari:开发→“进入响应式设计模式”

image.png

在 Safari(左)、Firefox(右)和 Chromium(下)中启动响应式设计模式

Chrome 提示:检查顶层

Chrome 允许您可视化和检查顶层元素,例如对话框、警报或模式。当一个元素被添加到 时#top-layer,它旁边会出现一个top-layer徽章,单击该徽章后,您会跳转到位于该标签后面的顶层容器</html>

容器中元素的顺序top-layer遵循堆叠顺序,即最后一个位于顶部。单击reveal徽章可跳回该节点。

本文同步我的技术文档

相关文章
|
7月前
|
Web App开发
在 HTML 中禁用 Chrome 浏览器的 Google 翻译功能
在 html 标签中添加 translate=“no” 属性,浏览器将不会翻译整个页面。
345 0
|
2月前
|
Web App开发 开发者
|
4月前
|
存储 JavaScript
纯Vue实现网页日常任务清单小功能(数据存储在浏览器)
这篇文章介绍了如何使用纯Vue实现一个网页日常任务清单的小功能,数据存储在浏览器中以保持数据持久化。文章内容包括功能描述、效果演示、核心代码修改方法,以及已经打包好的项目源码下载链接。作者还提供了友情提示,指出了数据存储到浏览器的核心代码部分,方便读者快速理解和应用。
|
6月前
|
数据可视化 安全 区块链
区块链钱包浏览器开发功能,价格和时间周期
开发区块链钱包浏览器涉及账户管理、交易查询、区块浏览、智能合约查询及数据可视化等功能。价格因开发难度、需求、团队专业度及第三方服务费用而异,通常在数万至数百万元。开发周期约数月到半年,包括需求分析、设计、开发、测试和上线等阶段。
区块链钱包浏览器开发功能,价格和时间周期
|
6月前
|
JavaScript
Vue - 超强实现网页禁止浏览器缩放功能
Vue - 超强实现网页禁止浏览器缩放功能
|
6月前
|
存储 算法 Java
栈:如何实现浏览器的前进和后退功能?
这篇文章讨论了计算机科学中的栈数据结构及其在浏览器前进、后退功能、函数调用、表达式求值和括号匹配等场景中的应用。栈是一种后进先出(LIFO)的数据结构,通常由数组或链表实现,具有入栈(添加元素)和出栈(移除最近添加的元素)的基本操作,时间复杂度为O(1)。文章通过实例解释了如何用栈来实现浏览器的前进和后退功能,以及在解析和求解数学表达式时如何利用栈来处理括号匹配。此外,还提到了栈在函数调用中的作用,即保存临时变量和管理调用顺序。文章以两个栈为例,详细描述了如何跟踪已浏览的网页历史记录,以便实现前进和后退功能。
|
7月前
|
开发工具 开发者
谷歌浏览器打开DWG图纸,实现圆转多边形功能(在线CAD开发教程)
本文介绍了如何使用在线CAD SDK实现圆转多边形功能。首先,需搭建绘图环境和添加命令行交互。接着,通过mxcad库,根据用户输入的边数实现两种转换方式:内接于圆(目标圆为多边形外接圆)和外切于圆(目标圆为多边形内切圆)。具体实现包括选中圆、获取边数、选择转换方式,然后根据用户选择绘制多边形。最终展示了转换效果。
谷歌浏览器打开DWG图纸,实现圆转多边形功能(在线CAD开发教程)
|
7月前
|
存储 算法 Java
数据结构与算法:栈:如何实现浏览器的前进和后退功能??
数据结构与算法:栈:如何实现浏览器的前进和后退功能??
67 0
|
移动开发
华为Mate60钉钉App内置浏览器中使用“@kangc/v-md-editor"组件,功能不正常
华为Mate60钉钉App内置浏览器中使用“@kangc/v-md-editor"组件,功能不正常
220 1
|
Web App开发 前端开发 JavaScript
JavaScript浏览器开发者工具和常用的IDE的调试功能
JavaScript浏览器开发者工具和常用的IDE的调试功能