背景

大家好,我是飞叶。
作为一个UP主,经常需要录制视频。
在录制之前,需要一些准备工作,这里面就包括 隐私相关 的准备工作。
对我来说,我喜欢隐藏书签栏,同时把我用的浏览器插件也隐藏。
万一装了一些比较私密的插件呢是吧。
隐藏书签栏好说,右键一键操作,或者用快捷键(ctrl/cmd+shift+B)都可以。
但是隐藏这些插件可不容易,你需要一个个隐藏。
所以我写了一个插件可以一键隐藏这么多 固定展示的插件。
等视频录完了,还可以再一键展示回来。
插件名字是:UP Mode,顾名思义,up主模式。
插件可以从这里安装:https://chromewebstore.google.com/detail/up-mode/maiiinianakm...

其实,隐藏这些内容,除了可以保护隐私这个好处之外,
还可以让整个界面更简洁,更清爽,也能让看视频的人更专注在你分享的内容本身。
所以如果你以前都不注意这一块,以后可以试着搞一搞。

不管你是需要录视频的UP主、内容创作者或者老师
还是需要给团队做分享的开发者、设计师、产品
还是经常需要分享屏幕的任何职场人

这款插件都会节约你半分钟的时间。
这里是效果演示视频:https://www.bilibili.com/video/BV1eEpae8Ev1/

设计思路

实现逻辑很简单,很直观:

  • 查找 一个插件是否是pinned API
  • 查找 显示/隐藏插件pinned状态 API
  • 遍历所有插件,如果其是pinned状态的,则隐藏pinned状态。
  • 记录上次隐藏的插件列表list,等用户reset时,遍历这个列表list,将其中的插件重新 显示为pinned 状态。

然而,事实是残酷的,浏览器并没有提供 一个插件是否是pinned 这样的API的,自然也就没有提供 控制插件pinned状态 的 API。

本以为这个idea可能要泡汤了。但是被我找到了另一对API,控制插件是否启用的API。分别是:

  • extension.enable 插件是否启用了
  • browser.management.setEnabled 控制插件启用/禁用

重点是browser.management.setEnabled()这个API。他除了控制插件启用/禁用外,还有一个附带的作用:

  • 当插件是pinned状态时,禁用插件,插件会从浏览器上隐藏
  • 当重新启用插件时,插件不禁启用了,还会重新以pinned状态展示在浏览器工具栏处。

这就重新燃起了可以实现这个idea的希望。

代码实现

这里贴出核心逻辑,一个是隐藏所有pinned的插件,一个是重新展示插件

产品上线与反馈

讲几个开发这款插件前后的小故事。

因为这是从我自身需求出发演变而来的插件,所以对我真的很有用。就觉得它是有价值的,于是就给 阮一峰老师的周报 自荐了一下,结果还真被阮老师给选上了。成功入选周报,不管是代码仓库的star数还是插件安装量,都得到了一波流量鼓励。在此表示感谢。

插件上线后,引来了一些用户交流。我没想到的是,竟然有人安装几十个到上百个浏览器插件,所以对他们来说,这款插件真算效率工具了,节省的时间,不止半分钟了。

相关链接

插件是开源的,代码仓库在这里:https://github.com/cunzaizhuyi/up-mode-extension

插件已经上线,大家可以从Chrome应用商店安装:https://chromewebstore.google.com/detail/up-mode/maiiinianakm...

这里是B站的效果演示视频:https://www.bilibili.com/video/BV1eEpae8Ev1/


飞叶_前端
1.4k 声望139 粉丝

Wasm和emscripten技术交流群:939206522