例外规则 `@@`:让某些内容通过拦截器
@@ 的作用
例外规则和拦截规则一一对应:拦截规则告诉你"拦什么",例外规则告诉你"放什么"。它们可以互相覆盖——@@ 总是赢过对应的拦截规则。
三种常见用法
用法一:放行整个域名的所有请求
@@ ||example.com^
这条表示:不管任何拦截规则里有没有拦 example.com 的请求,一律放行。最适合用来对白名单网站(你想支持的、信任的网站)做全站放行。
用法二:放行特定类型请求
@@ ||tracker.com^$script
这条表示:tracker.com 的脚本请求放行,但 tracker.com 的图片、iframe 等其他请求仍然可以被拦截规则拦。适合只放某一种类型但不放全站的场景。
用法三:整站关闭 ABP(最彻底的放行)
@@ ||example.com^$document
或者:
@@example.com^$document
这两条的意思是"当你访问 example.com 这个主页面(document 类型请求)时,整个拦截器在该标签页上临时停用"。页面加载完后不会再拦任何请求——相当于一键关闭 ABP。适合访问需要加载大量第三方组件的金融站或后台管理系统。
例子:让 YouTube 视频推荐位恢复显示
假设某个订阅更新后把 YouTube 推荐位也给拦了,你想恢复它:
- 先在 ABP 设置面板里临时关闭 YouTube 相关规则,看推荐位是不是回来了;
- 确认是哪条规则导致误伤;
- 写一条例外规则,针对
youtube.com^放行该规则; - 或者更粗暴地对 YouTube 整站放行。
例外规则和 Acceptable Ads 的区别
- Acceptable Ads 是 Eyeo 维护的订阅列表,里面全是
@@规则——放行符合"非侵入性"标准的广告; - 你自己写的
@@规则优先级更高,不会被 Acceptable Ads 影响; - 关掉 Acceptable Ads 只是取消勾选那个订阅,你自定义的
@@规则不受任何影响。
例外规则也能写错
写 @@ ||tracker.com^ 之后发现该域名的广告也被放过来了,这说明你放行得太宽了。修正方法:
- 加上
$script只放脚本; - 或者只放行特定类型的 tracker.com 请求,比如
@@ ||tracker.com/pixel^$image(只放行像素图片)。