操作指南 · 开发者
如何用重定向拦截 Chrome 扩展挡掉不想要的跳转
简短回答
新增一条“拦截”动作的规则,URL 匹配写上重定向的目标——或触发它的脚本——命中的请求就会在离开浏览器之前被取消。命中日志和徽标计数展示这条规则拦下的每一个请求,你能确认拦截真的生效了。
- 1
打开扩展,新增一条“拦截”动作的规则。
- 2
用“录制”标签页捕获页面流量,找出重定向目标或触发它的脚本。
- 3
为它填一个 URL 匹配(如 ||redirector.example.com^),主机轮换就启用正则。
- 4
保存并重新加载——命中的请求现在会在浏览器里被取消。
- 5
在命中日志和工具栏徽标里确认拦截,再把规则按项目或环境分组。
页面总把你弹到没打算去的地方——强制跳转的移动版网站、夹在链接和真实目的地之间的跟踪中转,或是自作主张让标签页导航的第三方脚本。基于规则的重定向拦截器和广告拦截器思路不同:它不用人工维护的过滤列表,而是让你指名道姓地取消哪些请求,并且每拦一次都给你看证据。这份精确,正是你在开发中想阻止某个重定向、又不想弄坏页面其他部分时需要的。
新增一条拦截规则
打开扩展,创建一条拦截动作的规则。名字起得让以后的自己认得——“干掉移动版跳转”“staging 不要分析脚本”都比“规则 7”强。
找到该拦截什么
如果不知道重定向由哪个请求发起,先用“录制”标签页:它在本地捕获页面的真实流量,让你找出中转域名——或挑起整条链路的脚本——再把那个请求一键转成规则。
用匹配模式命中它
填一个 URL 匹配,例如 ||redirector.example.com^;链路轮换主机名就打开正则。命中的请求在浏览器内部被直接取消——没有任何流量经由服务器代理。
到命中日志里验证
重新加载页面。工具栏徽标累计命中次数,命中日志逐条列出哪些请求在何时被拦下。这很重要,因为在繁忙的 DevTools 时间线里,一个被取消的请求很容易看漏——日志才是生效的凭证。
按项目限定范围
把拦截规则按环境分组——staging 一组、客户项目一组——整组一键开关,而不是逐条手改。
它能拦什么、拦不住什么
两句实话。第一,在 Chrome 上,扩展开箱即拦 fetch/XHR 流量;要拦截顶层页面跳转、service worker 或 WebSocket 请求需要开启 Full Mode,开启期间 Chrome 会挂出“正在调试此浏览器”的横幅(Firefox 没有这类盲区)。第二,规则拦截器只拦你点名的请求——它不是杀毒软件,不会识别从没告诉过它的诈骗跳转。
一切都在本地运行:规则存在你的设备上,没有遥测,免费版的拦截规则不限数量。
