uBlock Origin 网络过滤引擎详细说明 - fang5566/uBlock GitHub Wiki
概览
动态 URL 过滤规则
优点:
- 创建和删除动态 URL 规则所花费的开销很少。
- 优先级高于动态过滤规则和静态过滤规则。
- 适用于精细化诊断和修复被动态过滤规则和静态规则破坏的网站。
- 适用于创建规则以覆盖已有的动态过滤规则和静态规则。
- 用鼠标在界面一指一点即可方便地管理规则。
缺点:
- 只能匹配以目标 URL 打头的 URL。
- 无法通过过滤规则列表加载。
动态过滤规则
优点:
- 创建和删除动态过滤规则所花费的开销很少。
- 优先级高于静态过滤规则。
- 用鼠标在界面一指一点即可方便地管理规则。
缺点:
- 规则作用范围广,只能是整个站点或特定几种类型。
- 无法通过过滤规则列表加载。
静态过滤规则
优点:
- 语法灵活,作用目标可从非常宽泛到非常精准,可在任意位置使用通配符。
- 支持修饰规则(用于移除 DOM 元素)。
- 可通过过滤规则列表加载,便于使用来自社区支持的过滤规则列表。
- 兼容性好,可在其他支持 ABP 规则语法的过滤工具中使用。
- 除了少量 uBlock Origin 扩充的专用语法不支持其他过滤工具。
缺点:
- 创建和删除网络规则/修饰规则所花费的开销很大(内存波动很大)。
- 使用第三方过滤规则列表时,会强制使用全部规则,包括不想使用的规则。
如果两者都是声明性的,为什么规则是“动态的”而过滤规则是“静态的”呢?
“静态”意思是它在使用前必须提前被“编译”好,而“dynamic”则是它可以在运行期间轻松修改:
- 规则(Rules):你可以在用户界面简单点击鼠标来设置规则,创建/删除它们几乎没有开销。
- 过滤规则(Filters):它们必须先被重新载入内存后才能添加/删除。