Repository navigation
PageLinkMode v0.4.0
版本简介
v0.4.0 是 PageLinkMode 自 v0.3.3 之后的一次次级版本升级。这一版不再只提供“全局 / 站点 / 页面”三层粗粒度模式,而是把插件内部已有的跳转判断能力显式产品化,升级为一套可查看、可覆写、可调试的“分类化跳转策略系统”。
这次发布的核心目标,是让用户能够真正精确控制网页内导航:哪些跳转应当留在当前标签页,哪些应该在新标签页打开,哪些又应该完全保留网页自己的原生行为。
核心改动
1. 新增分类化跳转策略层
- 将网页内导航拆分为 12 类可识别、可配置的跳转类型,而不是继续把所有行为压缩成单一模式。
- 当前版本支持的分类包括:
- 同站内容链接
- 跨站内容链接
- 站点壳层 / 首页导航
- 传统分页
- 图片预览 / 原图查看
- 认证相关链接
- GET 表单提交
- 非 GET 表单提交
- 普通
window.open(...) - 认证相关
window.open(...) - 图片相关
window.open(...) - 命名窗口 / 弹窗式
window.open(...)
- 每一类都可以独立配置为:
同标签页、新标签页、保持原生。 - 默认策略仍保留此前产品边界:普通内容链接偏向新标签页,分页和图片查看保持原生,站点壳层导航与认证流程偏向当前页。
2. 明确新的规则优先级
- 在保留现有页面级和站点级整体规则的前提下,引入“站点分类覆写”和“全局分类策略”两层。
- 最终优先级固定为:
- 页面整体规则
- 站点整体规则
- 站点分类覆写
- 全局分类策略
- 这样既保留了原来的一键强制模式,也允许用户只对特定类型的跳转做精细化调节。
3. 设置页重构为规则工作台
Options页面不再只是平铺规则列表,而是升级为“规则工作台”。- 新版设置页包含三个核心工作区:
- 全局分类策略矩阵
- 站点分类覆写卡片
- 最近命中的调试记录
- 每个站点现在都可以展开查看,并针对各类跳转单独覆写动作为“继承全局 / 同标签页 / 新标签页 / 保持原生”。
- 旧的页面规则没有移除,而是降级为“高级规则”区,只继续负责页面级整体强制模式。
4. 新增调试记录能力
- 后台新增最近 50 条导航决策记录,保存到
chrome.storage.session。 - 每条记录都会展示:
- 时间
- 当前页面 URL
- 目标 URL
- 触发来源(
anchor/form/window.open) - 命中的分类
- 最终动作
- 生效来源(页面整体 / 站点整体 / 站点分类 / 全局分类 / 站点已停用)
- 判断 reason
- 设置页支持按站点筛选和一键清空,便于排查“为什么这次跳转走了当前页 / 新标签 / 原生行为”。
5. 内核与兼容性调整
content script、page bridge、后台消息协议、存储结构、规则解析链路已整体升级到分类策略模型。- 旧配置导入时会自动补齐新的
schemaVersion: 2结构,不会丢失已有全局规则、站点规则、页面规则和站点停用状态。 - 现有的运行时恢复能力和 SPA 站点保护逻辑继续保留:
- 扩展重新启用后,已打开页面仍能恢复接管。
- 对
linux.do这类站点的 capture 阶段普通锚点处理仍然有效。
- 产品边界保持不变:不会扩大到浏览器原生 UI、站点业务自动化或通用
history.pushState接管。
6. 设置页交互细节打磨
- 对规则工作台里的分类按钮组做了交互优化,补上更顺滑的切换过渡、选中态滑动底板与更轻的按压反馈。
- 修复了 hover 状态下的配色冲突,避免出现“深色背景 + 深色文字”的可读性问题。
- 站点卡片展开、次级按钮与状态提示也统一了动效节奏,让设置页的操作反馈更稳定,不再生硬跳变。
代码与工程更新
- 扩展状态结构新增:
schemaVersionglobalCategoryRulessiteCategoryRules
- 运行时消息新增:
- 分类规则读写
- 调试记录获取 / 清空 / 追加
- 新增自动化测试:
- 导航分类与默认动作测试
- 规则优先级测试
- 旧配置导入兼容测试
- 新增独立测试脚本,避免测试阶段引入额外运行时依赖。
验证结果
npm testnpm run typechecknpm run build- 重新生成并上传
dist.zip - 确认发布版本号提升为
v0.4.0
升级说明
- 已安装旧版本的用户,下载本 release 附带的
dist.zip,解压后在 Chrome 扩展页重新加载即可。 - 旧配置会自动兼容新结构,无需手动迁移。
- 如果你此前只使用整体模式,这一版不会强迫你改用分类策略;但当你需要更细致地区分“分页 / 内容链接 / 图片查看 / 表单 / window.open”时,现在可以直接在设置页中完成。