uBlock具有动态和静态两种规则,但是它比之前的ABP等规则过滤规则强的地方就在于他的动态规则,静态规则的语法继承与ABP,有兴趣的可以去看ABP的过滤规则https://adblockplus.org/zh_CN/filters,现在主要介绍它的动态规则,这才是让它变成神器的主要原因
英文文档:https://github.com/gorhill/uBlock/wiki/Dynamic-filtering:-rule-syntax
语句书写非常简单:分为4块
主机地址(目前正在浏览的网站) 加载广告的源地址 请求类型 要采取的行为
请求类型
*
:任何类型的请求(通配符)image
: 图片3p
:网页第三方的任何请求inline-script
:内联脚本标记,即嵌入在主文档中的脚本1p-script
:第一方脚本,即从当前网页的同一域名中提取的脚本3p-script
:第三方脚本,即从与当前网页不同的域名中提取的脚本3p-frame
:第三方框架,即从与当前网页不同的域名拉出的框架元素- 采取的行为
block
:匹配的网络请求将被阻止。block
动态过滤规则覆盖任何现有的静态异常过滤器。- 因此,您可以使用它们100%确定地阻止(除非您设置另一个重写动态过滤规则)。
allow
:将允许匹配网络请求。allow
动态过滤规则会覆盖任何现有的静态和动态块过滤器。- 因此,它们最有用的是创建更细粒度的异常,并且在某个地方取消某些静态过滤器破坏的网站。
noop
:排除网络请求受到动态过滤。- 它取消了动态过滤,但不取消静态过滤。
举例:
* * 3p-frame block
。此规则转换为“全局阻止第三方框架”
wired.com * image block
这意味着“在访问wired.com上的网页时阻止所有来源的图像”。
* disqus.com * block
表示“全局阻止所有网络请求disqus.com
”
注意事项:
子域会继承主域的过滤规则