Manifest V3 版本,独立在 v3/ 目录开发。技术栈:Vite + React + TypeScript + Tailwind + DaisyUI。不含 newtab 功能。
cd v3
npm install
# 图标:从旧版复制到 public/img(否则扩展会缺图标)
cp ../v2/extension/img/icon16.png ../v2/extension/img/icon48.png ../v2/extension/img/icon128.png public/img/
npm run build在 Chrome 打开 chrome://extensions → 加载已解压的扩展程序 → 选择 v3/dist。
监听文件变化并重新构建:
npm run devsrc/background.ts- Service Workersrc/popup/- 弹出层(React)src/options/- 设置页(React)src/content/- 注入页面的脚本与样式manifest.json- MV3 配置(无 newtab、无 chrome_url_overrides)public/img/- 扩展图标,需从../v2/extension/img复制
- Command+J / Ctrl+J:在当前页面打开命令框(iframe),输入过滤、↑↓ 选择、Enter 执行。
- Command+K / Ctrl+K:打开扩展图标弹窗(小窗,含「打开设置」)。
- 命令框内置命令:
- 当前页信息:展示标题、URL、Host、Path、Search、Hash、选中文本;选某项 Enter 复制并关闭。
- 页面链接:当前页内链接(
a[href],最多 80 条),选某项在当前页点击该链接并关闭。 - 页面大纲:当前页 h1–h6 标题,选某项滚动到该标题并关闭。
- 历史记录:最近访问的页面,选某项在新标签页打开。
- 书签:最近添加的书签,选某项在新标签页打开。
- 打开设置 / 关闭。
- 设置页:通用(速度优先、记忆上次命令)+ 关于;保存后写入 storage。
- 速度优先:开启后页面加载即注入命令框(打开更快),关闭则首次按快捷键再注入。
- 记忆上次命令:开启后再次打开命令框会预填上次输入;输入会防抖写入 storage。
- 新功能与 MV3 迁移均在
v3/下进行,不修改v2/下的旧版代码。 - 后续从
v2/extension/迁移逻辑时,只把需要的部分移植到 v3,并改为 React + 无 eval、无自定义插件执行。