在Chrome中自由穿梭

迟来太久的毕业快乐!

Posted by LEODPEN on 2021-10-10

写在前面

其实这篇6月初就写了一半,后面因为一些原因咕了。本想着10个人用已经很不错了,没想到前几天看下载量居然还增加了好多,想了想还是把坑填一下hhh。

真能提效

为什么有写Chrome插件这个想法?

设想一下,在写论文时候,经常要开一大堆tab页来查资料,到后来只能看见图标的存在,根本不知道哪个tab页是什么,会不会导致心态炸裂。又或者有时候在公司查case的时候,开了一堆tab页,希望通过某些id来找到对应的tab页?此外,大费周章来到了正确的tab页,心满意足后想要回到之前的页面,却忘记了是哪一个,又要进行一波“海底捞针”。。。

遇到这些情况时,可谓是难顶之难顶。

为什么要自己写?

其实市面上确实已经有一些插件了,但是稍显一般了。。。除去很多细节(比如脱离鼠标随时输入容易误跳转、显示搜索结果有限等等),只看其更新时间,就已经是7、8年前的“经典”插件了,估计很多问题其作者是不会再有更新了。。

又比如Chrome自带的tab搜索功能,其支持了全局窗口的搜索,但是:1. 往往跳转后想回到前一个页面时发现忘记了之前的坐标;2. 搜索结果有点鸡肋,同一个域名下tab标题相同是展示搜索结果相同,无法知道到底是哪个tab页(比如用公司的mq管理平台、db管理平台时问题就体现得淋漓尽致);但其总体而言很不错,能满足大部分要求了。

联想到IDEA的前进后退,感觉能极大提高工作效率,于是决定对现有的工具做的不好的功能进行改进,现有工具没有的功能进行添加,现有工具做的好的地方(特指Chrome自带的tab全局搜索)不集成

我个人一般会Chrome自带搜索和这个工具结合着用。

不断进化的丑陋界面与功能

简单实现原理

最开始只想着用后退功能,结果"内测"时候,某位现在已经离职的同事强烈要求加上前进功能,于是由栈改成了双向链表 + Map;

至于链表中某个节点被关掉了,是否要像IDEA中一样给重新打开,我个人选择实现方式是跳过它直接到达再前一个active的tab页,因为我们目的不是增加tab数量,而是尽量减少它,去合理管理它。

当然每个链表的数量也不能太多,目前设置的是当数量超过阈值,便随机进行最早入队的随机数量元素(不超过阈值的一半)的delete操作,有兴趣可以瞅瞅代码(离完成时太遥远了有点忘了)。

代码地址:https://github.com/LEODPEN/Where-is-my-tab

进化的界面

作为后端狗,最近一次写前端还是用elementUI写vue什么的。。。在我不断学习(乱撸)下,界面逐渐进化为了当前奇奇怪怪的样子(此处感谢某位字节前端同学对我一些js问题的解答,这里祝愿其早日康复)。
不管怎么说,就依照我的审美而言,好像还可以哈哈摆烂了属于是。。。

不如试试看

直通车

虽然插件本来是自己用的,但还是听了部分人的意见,修修改改了几版,暂时应该不会有大的变动了。

Chrome商店地址:https://chrome.google.com/webstore/detail/where-is-my-tab/abccjdbmfpgocjjmebdjogoophngecfe?hl=zh-CN&authuser=0

虽然Edge也有上架(极度阉割版),但是其manifest_version只支持到2。。。不建议用下载这个插件。。

默认快捷键

  1. command + shift + 7 为 打开或关闭搜索页搜索页;
  2. command + shift + 9 为 tab回退;
  3. command + shift + 0 为 tab前进;
  4. windows下command键为Ctrl;

快捷键自定义

有些朋友说快捷键反人类,其实是可以自己修改的,键入chrome://extensions/shortcuts直接修改即可(别和现有的冲突)。

“进攻就是最好的防守”

插件用着确实挺舒服的,但是还是建议要注意多清理下tab页。毕
竟能一眼发现该做什么不是更香吗,而且开太多tab页电脑卡起来属实难顶。。

“进攻就是最好的防守”,在没法维护当前tab页时候直接全关掉,直接remake,进入下一把,就不用考虑怎么去维护tab页了(亲测有效)。