码桶
发现社区成员的开源项目
版本历史
2 次提交提交详情
eee9352提交编号
eee935247b24c97f952e8756051ef87e405b68fe提交作者白逸<codebucket@localhost>
提交时间2026-07-30 02:13:44 +0800
更新说明更新项目文件
文件变更 10 个文件
文件新增删除
README.md+59-0background.js+36-0content.js+81-0icon128.png二进制二进制icon128_off.png二进制二进制icon48.png二进制二进制icon48_off.png二进制二进制manifest.json+31-0popup.html+108-0popup.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.