adblockplus 中文文档 下载 App

拦截过度导致功能失效:登录、视频、表单都不能用怎么办

典型症状和可能原因

症状大概率原因
Facebook / Google 登录按钮点不动EasyPrivacy / Fanboy 拦了 OAuth SDK 脚本
视频加载到一半卡住EasyList 里的分片规则误伤了正片请求
电商搜索不出结果拦了搜索 API 的 fetch 请求
表单提交后无响应拦了表单提交的 XHR 请求
网站导航菜单弹不出来拦了菜单的 JS 脚本

定位步骤

第一步:临时关闭 ABP 确认是它

第二步:在 Network 面板里找被拦的请求

  1. F12 打开开发者工具 → Network 面板;
  2. 勾选"Preserve log"(保留日志);
  3. 复现症状(点登录、提交表单等);
  4. 看 Network 列表里红色标记为 Blocked 的请求;
  5. 找到那个功能本来需要的请求(比如登录按钮点了应该发出一个 fetch 请求,结果被 Blocked 了)。

第三步:判断该请求应该放还是该拦

看被拦请求的 URL:

第四步:写例外规则放行

@@ ||accounts.google.com^$script

上面这条是放行 Google 登录的常用例外规则。具体怎么写看"自定义规则语法"章节。

写完规则后刷新页面再测,功能应该恢复。

为什么订阅列表会误伤

误伤不是 ABP 的 bug,是订阅列表的固有局限。好的拦截器用户应该有写几条基础例外规则的能力。

反馈渠道