multi-row-tabs README

The project's README from github.com/hezhizheng/multi-row-tabs. As one markdown file: README.md.

Multi-Row Tabs Logo

Multi-Row Tabs(多行平铺标签栏)

一个 Chrome 浏览器扩展(Manifest V3),以多行平铺的方式展示当前窗口的所有标签页,采用零侵入浮动模式:不修改页面任何样式,兼容所有网站。

视频演示

https://github.com/user-attachments/assets/a6736d2c-746c-4b45-bb09-1fc7d6831068

背景说明

Chrome 扩展无法修改浏览器原生标签栏(标签栏属于浏览器 UI 层,扩展无权注入样式或脚本)。因此本扩展采用「浮动覆盖栏」方案:页面上仅有一个可拖拽的悬浮按钮,点击或按快捷键时标签栏才浮现在页面顶部,不改动页面任何样式,对等任何网站零影响。

功能特性

安装方法

  1. 打开 chrome://extensions/
  2. 开启右上角「开发者模式」
  3. 下载 最新压缩包 解压
  4. 点击「加载已解压的扩展程序」,选择本目录(multi-row-tabs)
  5. 工具栏出现扩展图标即安装成功

使用方法

文件结构

chrome-multirow-tabs/
├── manifest.json   # MV3 配置,声明 tabs / storage / scripting 权限
├── background.js   # Service Worker:切换开关、标签查询、favicon 转换与缓存、事件广播
├── content.js      # 渲染悬浮按钮与多行标签栏,处理拖拽 / 快捷键 / 点击 / 中键关闭等交互
├── content.css     # 标签栏与悬浮按钮样式(flex-wrap 多行平铺)
├── popup.html      # 工具栏弹出面板
├── popup.js        # 面板逻辑:切换按钮 + 显示链接 + 快捷键录制
├── icon16.png      # 扩展图标(16px)
├── icon48.png      # 扩展图标(48px)
├── icon128.png     # 扩展图标(128px)
└── README.md

已知限制

权限说明

权限 用途
tabs 查询 / 切换 / 关闭标签页,读取标题与 favicon
storage 保存开关状态、「显示链接」配置、排序方式、悬浮按钮位置与快捷键
scripting 对已打开的标签页按需注入标签栏脚本
<all_urls>(host) 允许在所有页面注入标签栏、后台抓取 favicon

License

MIT

multi-row-tabs (hezhizheng/multi-row-tabs)

Searching Database…

这是什么?一个 Chrome 扩展(Manifest V3),把当前窗口的所有标签页显示为多行平铺网格,以浮动浮层的形式呈现,通过按钮或快捷键触发,不修改任何页面样式。
为什么它悬浮在页面之上,而不是替换 Chrome 自带的标签栏?Chrome 扩展无法修改浏览器原生的标签栏,因为它属于浏览器 UI 层而不是页面。所以它改为注入一个可拖动的悬浮按钮,点击后在页面之上展开一个标签栏浮层。
悬浮标签栏在每个页面都能用吗?不能——它无法出现在 chrome:// 页面或 Chrome 网上应用店,因为扩展无法在这些页面注入内容脚本;而且重新加载扩展之后,已经打开的标签页需要手动刷新才能加载新脚本。
怎么给栏里的标签页排序?有三种模式:默认(与 Chrome 自身的标签顺序一致)、按名称(中文拼音顺序)和按域名(把同一站点的子域名归在一起);选择会被自动记住。
能用键盘操作标签页吗?可以——标签栏展开后,方向键在标签之间移动焦点,Enter 切换到高亮的标签,Delete 关闭它,Esc 收起标签栏。
默认快捷键是什么?能改吗?默认快捷键是 Alt+Z,你可以在扩展的弹出面板中录制任意自定义组合键。
https 页面上的 http 图标会触发混合内容警告吗?不会——网站图标由后台脚本获取并转换为 data URL 之后再显示,所以纯 http 的图标在 https 页面上绝不会触发“混合内容”警告。
Creator
hezhizheng
Size
<0.1 MB
Stars
252
Age
1mo
Commits · 90 Days