更新

  • 2021/04/24 补充作者回复
  • 2021/02/07 初次发布

介绍

Keptab 扩展可以保存标签分组用于稍后再读。

之前一直在用 OneTab,但是偶尔丢失保存的数据,这实在让人无法接受。

OneTab 问题在于可靠性太差,你永远不会知道什么时候丢失数据。

不满 OneTab 的龟速和丢数据,先后折腾过 BetterOneTab 甚至已经改良了上千行代码,但架不住其渲染界面的龟速和依然存在的丢数据

无奈之下,自己从头到尾实现了一个全新的标签页管理工具,超级轻量的,但是各种黑科技都不少

扩展作者对此也是深受其扰,因此才开发了这个扩展。

环境

  • Chrome 88

未来也会支持 Edge、Firefox、Safari、Opera。

特点

  • 采用 IndexedDB 作为数据存储的底层实现
    • 再也不会丢数据了,真的不会丢数据了,相信我
    • 我在测试中保存超过 30000 的标签页组,依然加载神速
  • 很简单的 ReactDOM 的实现,页面渲染飞快飞快
    • 抄袭自传说中的 33 行实现 ReactDOM 大部分功能的代码,改良了一些小细节
    • 麻雀虽小,但真有很简单的 VirtualDOM diff 的实现,很简单,但是够用
    • 页面渲染的速度,比 VUE/React 有肉眼可以感受的速度提升
  • 功能上使用了一些黑科技,比如 Keptab 顶部的实时搜索
    • 原理很简单,但是很 Geek,实时显示你的搜索结果
    • 在保存了超过 30000 的标签页组,依然能够实时显示搜索结果
    • 不信你可以试试,真实时搜索,童叟无欺

这里直接引用作者的描述,看起来可以说都是针对痛点进行开发,很用心。

Keptab 在正常操作的情况的确不会丢数据,并且在浏览器奔溃的情况下丢数据的情况也极其罕见,但是由于浏览器奔溃的时候内存恢复处理的情况不同,有网友反馈过会丢数据,但是我随机 kill chrome 进程时从来无法复现丢数据的情况,所以还是稍微自夸一下不会丢数据吧

对比于 OneTab 使用 localstorage 的实现,keptab 确实比 OneTab 的基础牢固很多,毕竟 localstorage 在随机 kill chrome 进程的时候都能造成丢数据。

跟作者交流了一下,又补充了一些内容。其实绝对不丢数据是无法实现的,只能尽可能地降低丢数据的概率。这个扩展在设计时已经尽可能规避丢数据的坑了,可以说很不错。

对比

功能 Keptab OneTab
丢失数据 官方宣传不会丢 在几台机器上用了几年偶尔会丢失数据
右键菜单 一级直接可见,便于操作 二级需要多一次移动操作
打开速度 很快 未科学上网时会卡顿较长时间
搜索 支持,通过搜索框可以实时过滤结果 不支持,只能使用浏览器自带搜索
拖放链接 支持,但是拖放时没有提示 支持,拖放时有提示

实际使用

经过近半年的使用,没有发现存在丢失数据的情况。

实际使用感觉完全可以替代 OneTab,可能还有许多小细节需要打磨,但是核心功能完全没有问题。

更多信息

建议阅读作者在 V2EX 上发布的贴子,详细介绍了工作原理,以及一些使用的小技巧。