
我在 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建立過濾器?
答案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 過濾器。