6 个提升 Web 开发效率的实用书签工具

Avatar of Daniel Schwarz
Daniel Schwarz 发表

DigitalOcean 为您旅程的每个阶段提供云产品。 立即开始使用 200 美元的免费额度!

书签工具是一种基于 JavaScript 的书签,可添加到 Web 浏览器中。 我想向您展示一些很棒的 Web 浏览器技巧,以帮助您提高 Web 开发工作流程,以及如何将这些技巧转换为节省时间的书签工具。

  1. 激活设计模式
  2. 为所有元素应用背景
  3. 模拟事件
  4. 设置 Cookie
  5. 切换类
  6. 颜色小部件书签
  7. 您还能想到哪些其他书签工具?

激活设计模式

设计模式(由于它是JavaScript 属性,因此其样式为designMode)适用于喜欢在实时网站上试验内容变化的人。 例如,喜欢观察内容在网站设计流程中如何阅读的撰稿人,或者希望确保文本在特定字体大小下舒适地适应特定空间的设计师。

JavaScript 具有一个非常简单的功能,可以使整个 HTML 文档可编辑。 它完全类似于 HTML 的contenteditable="true" 名值属性(或 JavaScript 中的contentEditable="true"),但适用于整个文档。 如果您想了解其工作原理,请首先使用相关的键盘快捷键进入浏览器的控制台

  • Chrome:Option + + J / Shift + CTRL + J
  • Firefox:Option + + K / Shift + CTRL + K
  • Safari:Option + + C / Shift + CTRL + C

接下来,在控制台中键入document.designMode="on",按Return,然后单击任何文本元素。 您会看到,只需单击这些文本元素(以及所有其他文本元素)即可对其进行编辑。 这种在实时网站上编辑文本的方法必须打开 DevTools,然后右键单击并选择“编辑文本”选项快得多……并且不那么令人厌烦。

Showing an edited version of the CSS-Tricks guide landing page using the design mode bookmarklet.
“指南和内容”——我最喜欢的 CSS-Tricks 部分

虽然我不确定“设计模式”是否是对该功能的最准确描述,但它仍然非常有用,而且令人惊讶的是,它已经存在了很长时间。

那么,启用它的更快方法是什么呢?当然是用书签工具!使用javascript: document.designMode="on";void 0;作为 URL 创建一个书签。

Showing the bookmarklet installation.

为所有元素应用背景

当 HTML 元素没有背景时,很难可视化其边界和/或准确测量它们与其他元素之间的距离。 开发人员可能希望在处理视觉失衡(即即使某物“看起来不对劲”)时更好地可视化边界,边距折叠(某些边距被忽略时),display:/float:/position:的各种问题等等。

应用背景意味着为所有 HTML 元素应用半透明背景,以便更好地可视化其边界和间距。 许多人通常通过打开 DevTools 然后在“样式”框中键入类似selector { background: rgb(0 0 0 / 10%); }的 CSS 声明来实现此目的。 但同样,它非常令人厌烦且重复——我们可以使用书签工具来简化它。

再次,要创建书签,我们将创建一个 URL。 以下是我们为此可以使用的内容

javascript: document.querySelectorAll("*").forEach(element => element.style.background="rgb(0 0 0 / 10%)");

我们使用半透明背景是因为透明度会叠加,这确保了每个嵌套元素都可区分,并且可以测量它们之间的距离。

Showing the CSS-Tricks guides landing page with all backgrounds fill with varying shades of gray.
为所有内容应用背景以查看发生了什么。

模拟事件

您是否曾经需要测试一个 Web 事件,该事件首先需要一系列交互或满足某些条件?测试或调试此类功能非常耗时。 此事件模拟书签工具可用于立即触发特定事件,从而使测试变得轻而易举。

模拟事件意味着编写一个“一次性”按钮来触发 JavaScript 事件,从而更容易快速重复地测试该事件,而无需满足任何通常的用户界面条件,例如需要登录。

假设您已设置了JavaScript 事件侦听器,请为要触发/模拟的每个事件创建一个书签,并提交以下 URL

javascript: document.querySelector("SELECTOR").click();

将“SELECTOR”替换为您唯一的选择器,将“click”替换为“focus”或“blur”(必要时),或扩展代码段以使其触发更复杂的事件,例如scroll

设置 Cookie

Cookie 是网站访问者计算机上存储的令牌,由他们正在访问的网站存储。 Cookie 包含可由创建它们的网站读取的数据,直到它们超过其过期日期或被删除。 Cookie 的存在本身可以确定访问者是否已登录,而数据本身可以存储用户信息。

您可能希望使用书签工具设置 Cookie 的场景示例是,当您想要在网站测试期间强制登录状态时。 网站在登录用户和未登录用户的情况下通常看起来非常不同,但是,最终登录和注销变得非常繁琐,因此此书签工具可以节省大量时间。

手动为 Cookie 编写expires=日期非常麻烦,但幸运的是,此创建自己的设置 Cookie 书签工具应用程序可以为您生成特定 Cookie 的书签工具,如果您知道其确切名称。

切换类

您可能希望向 HTML 元素添加或删除类以触发新的状态或外观变化,也称为切换类。 类切换发生在大多数实时网站的幕后,但它也可以在测试期间使用,以跳过满足某些用户界面条件。

类切换可用于触发外观变化(例如备用主题或状态)甚至动画,但在仅出于测试目的(即网站实际上并未以这种方式为用户工作)时使用开发者工具进行操作可能会有点麻烦。 与其他书签工具类似,使用此工具快速切换类并节省时间。

创建以下书签工具以定位与您选择的选择器“SELECTOR”匹配的所有元素,这反过来会切换“CLASS”。

javascript: document.querySelectorAll("SELECTOR").forEach(element => element.classList.toggle("CLASS"));

颜色小部件书签

虽然从技术上讲不是“书签工具”,但 Scott Jehl 的这个可书签数据 URI在一个新标签页中打开了一个<input type="color">

data:text/html;charset=utf-8,%3Chtml%3E%3Ctitle%3EColor Picker%3C%2Ftitle%3E%3Cinput type%3D"color"%3E%3C%2Fhtml%3E

为什么这很酷?好吧,您需要从页面上获取颜色值多少次,却发现自己打开了 DevTools,单击了许多元素,并仔细检查了 CSS 属性以查找该值?最好运行这个小家伙,单击该元素,并立即获取颜色!

您还能想到哪些其他书签工具?

是否存在任何需要您使用 Web 浏览器有时很笨拙的开发者工具的重复性 Web 开发工作流程?如果是这样,创建您自己的节省时间的书签工具非常容易。 只需记住以javascript:开头 URL!

如果您创建了书签工具来简化您的工作流程,我很乐意看到它!在评论中分享它们,让我们一起创建一个不错的集合。