码桶

发现社区成员的开源项目

版本历史

2 次提交

提交详情

eee9352
提交编号eee935247b24c97f952e8756051ef87e405b68fe
提交作者白逸<codebucket@localhost>
提交时间2026-07-30 02:13:44 +0800
更新说明更新项目文件

文件变更 10 个文件

文件新增删除
README.md+59-0
background.js+36-0
content.js+81-0
icon128.png二进制二进制
icon128_off.png二进制二进制
icon48.png二进制二进制
icon48_off.png二进制二进制
manifest.json+31-0
popup.html+108-0
popup.js+28-0

文件差异 逐行查看本次提交的修改

README.md+59-0
@@ -1,3 +1,62 @@
11 # 超链新标签页打开
22 一款 Chrome 扩展,强制页面内所有超链接在**新标签页**中打开,并提供随时开关的开关按钮。
3+
4+## 功能特性
5+
6+- **全局生效**:拦截页面中所有 `<a>` 链接的左键点击,改为新标签页打开。
7+- **一键开关**:点击工具栏图标,通过开关随时启用或停用,状态实时同步到所有页面。
8+- **图标反馈**:开启 / 关闭状态由工具栏图标直观呈现。
9+- **智能跳过**,以下情况保持浏览器默认行为,不做干预:
10+ - 页内锚点(`#...`)
11+ - `javascript:` / `mailto:` / `tel:` / `sms:` / `blob:` / `data:` 等特殊协议
12+ - 带 `download` 属性的下载链接
13+ - 已设置 `target="_blank"` 的链接
14+ - 按住 `Ctrl` / `Cmd` / `Shift` / `Alt` 或使用鼠标中键、右键的点击
15+- **兼容性强**:通过 `composedPath()` 支持 Shadow DOM 与 `<svg>` 内部链接。
16+- **安全打开**:使用 `noopener,noreferrer` 打开新页面,防止新标签页通过 `window.opener` 反向操作原页面。
17+
18+## 安装方法(开发者模式)
19+
20+1. 打开 Chrome,地址栏输入 `chrome://extensions` 回车。
21+2. 打开右上角的 **开发者模式**。
22+3. 点击 **加载已解压的扩展程序**。
23+4. 选择本扩展所在的文件夹(包含 `manifest.json` 的目录)。
24+5. 安装完成,工具栏出现扩展图标即可使用。
25+
26+## 使用说明
27+
28+- 安装后默认**开启**,此后浏览网页时点击任意链接都会在新标签页打开。
29+- 点击工具栏图标弹出面板,拨动开关即可启用或关闭。
30+- 关闭后链接恢复浏览器默认打开方式,图标同步切换为“关闭”样式。
31+
32+## 文件结构
33+
34+| 文件 | 说明 |
35+| --- | --- |
36+| `manifest.json` | 扩展清单(Manifest V3),声明权限、图标、脚本入口 |
37+| `content.js` | 内容脚本,`document_start` 注入所有页面,拦截链接点击 |
38+| `background.js` | 后台服务 worker,维护开关状态并同步工具栏图标 |
39+| `popup.html` | 工具栏弹出窗口界面 |
40+| `popup.js` | 弹窗逻辑,读取 / 写入开关状态 |
41+| `icon48*.png` / `icon128*.png` | 开启与关闭两种状态的图标 |
42+
43+## 工作原理
44+
45+内容脚本在**捕获阶段**监听 `click` 事件,从事件路径向上查找最近的 `<a>` 元素。若命中且不属于“智能跳过”的情况,则阻止默认行为并调用 `window.open(url, "_blank", "noopener,noreferrer")`。
46+
47+开关状态保存在 `chrome.storage.local` 中,通过 `chrome.storage.onChanged` 在内容脚本、后台与弹窗之间实时同步,确保切换即时生效、无需刷新页面。
48+
49+## 权限说明
50+
51+本扩展仅申请 `storage` 权限,用于保存开关状态。不收集、不上传任何浏览数据。
52+
53+## 版本
54+
55+当前版本:**1.2.0**
56+
57+## 版权
58+
59+作者:**白逸** | 官网:[imxcy.cn](https://imxcy.cn)
60+
61+Copyright (c) 白逸. All rights reserved.