uBlock 过滤器

uBlock 过滤器

我在 Firefox 上使用 uBlock 广告拦截器。最初我有免费的过滤器,例如:

search.yahoo.com###yui_3_10_0_1_1531993940314_95  
search.yahoo.com###yui_3_10_0_1_1532027806134_88
search.yahoo.com###yui_3_10_0_1_1532084576415_87

我假设所有后续页面都会有类似的 ID。所以我想创建一个通用过滤器,以便它可以过滤掉每个后续页面中的广告,如下所示:

search.yahoo.com###yui_3_10_0_1_153*

但我不知道uBlock 的文档是什么句法来完成这项任务。

如何为 uBlock 创建过滤器?

答案1

你必须看看CSS 选择器文档。uBlock 添加了一些自己的扩展(“程序”选择器),但仍然具有与 CSS 相同的一般语法和特性。

在您的示例中,##是分隔符,#yui_3_10_0_1_1532027806134_88是 CSS 选择器 -#前缀表示它与元素的id=属性匹配(ID 选择器)。

ID 选择器始终精确匹配,但它们只是通用的简写属性选择器– 前一个与 相同[id=yui_3_10_0_1_1532027806134_88]

属性选择器^=分别使用、$=和支持前缀、后缀和子字符串匹配*=。因此,您要求的选择器是[id^=yui_3_10_0_1_153]

search.yahoo.com##[id^=yui_3_10_0_1_153]

请注意,YUI 自动生成的 ID 中的大数字是时间戳– 具体来说,就是以微秒为单位的“Unix 时间戳”。今年 10 月 20 日,它将达到 1540000000000(如果到那时雅虎还存在的话,到 2020 年 9 月将达到 1600000000000),因此您应该相应地调整 uBlock 过滤器。

相关内容