ADM支持絕大數(shù)的ABP規(guī)則語(yǔ)法,基本規(guī)則基于ABP規(guī)則,并進(jìn)行了字符替換部分的擴(kuò)展。
ABP規(guī)則請(qǐng)參考:
https://adblockplus.org/zh_CN/filters
CSS選擇器參考:
http://www.w3school.com.cn/cssref/css_selectors.asp
"!" 為行注釋符
注釋行以該符號(hào)起始作為一行注釋語(yǔ)義,用于規(guī)則描述。
"|" 為管線符號(hào)
來(lái)表示地址的最前端或最末端 比如 "|http://" 或 |http://www.abc.com/a.js|,用于精確控制匹配的開(kāi)始或結(jié)束。e.g:|http://www.abc.com等于|http://www.abc.com*,可以匹配以http://www.abc.com開(kāi)頭的網(wǎng)址。
"||" 為子域通配符
方便匹配主域名下的所有子域。比如 "||www.baidu.com" 就可以不要前面的協(xié)議"http://"。e.g:||www.abc.com等于www.abc.com,只要網(wǎng)址中包含www.abc.com就可以被匹配。
"~" 為排除標(biāo)識(shí)符
通配符能過(guò)濾大多數(shù)廣告,但同時(shí)存在誤殺, 可以通過(guò)排除標(biāo)識(shí)符修正誤殺鏈接。
"@@" 網(wǎng)址白名單
例如不攔截此條地址 @@|http://www.baidu.com/js/u.js或者 @@||www.baidu.com/js/u.js
"*" 為字符通配符
能夠匹配0長(zhǎng)度或任意長(zhǎng)度的字符串。
"^" 為分隔符
可以匹配任何單個(gè)字符。
"##"、"#@#"、"##&" 這3種為元素插入語(yǔ)法
在語(yǔ)句末尾加 $B , 可以選擇插入css語(yǔ)句在</body>前, 默認(rèn)為</head>,CSS放在head和body沒(méi)有區(qū)別,但要注意最后面的CSS定義樣式會(huì)覆蓋前面的(相同權(quán)重級(jí)別情況下),CSS權(quán)重:style > id > class > element。
"##" 為元素選擇器標(biāo)識(shí)符
后面跟需要隱藏元素的CSS樣式例如 #ad_id .ad_class,只要寫(xiě)上CSS選擇器,ADM程序會(huì)自動(dòng)在后面加上{display:none!important}隱藏的樣式。
"#@#" 元素選擇器白名單
可以指除指定元素避免程序在加上隱藏的樣式。
"##&" 為JQuery選擇器標(biāo)識(shí)符
后面跟需要隱藏元素的JQuery篩選語(yǔ)法, 如 ##&div:has(p),也可以寫(xiě)像##一樣的普通元素選擇器,這類(lèi)的規(guī)則為加強(qiáng)版的規(guī)則,可以避免源網(wǎng)頁(yè)的元素定義的元素樣式比所寫(xiě)的選擇還要高導(dǎo)致隱藏樣式{display:none!important}失效。
"##%" 是ADM自有的一種語(yǔ)法
經(jīng)過(guò)這種語(yǔ)法插入的選擇器程序不會(huì)在選擇器后面加上{display:none!important}的隱藏樣式,需要自己寫(xiě){}中的樣式部分,用于修正隱藏后的移位、留白等問(wèn)題。如:##%.main{width:200px;height:50px;margin-top:-20px}
全局元素隱藏
元素隱藏支持全局規(guī)則##.ad_text不需要前面配置域名,對(duì)所有頁(yè)面有效。簡(jiǎn)單有效,但誤殺會(huì)比較多,慎用!
"$s和$S" 為文本替換標(biāo)識(shí)標(biāo)
格式為:域名$s@查找內(nèi)容@替換內(nèi)容@后綴選項(xiàng),大S和小S的不同之處是小s為普通的通配符替換(?表示任意1個(gè)字符,*表示任意多個(gè)字符),大S為正則表達(dá)式替換,可以通過(guò)正則表達(dá)式來(lái)靈活的查找內(nèi)容。注意使用此語(yǔ)法替換時(shí)一定要事先測(cè)試好正則表達(dá)式或十分確定正則表達(dá)式的正確,如稍有不慎造成循環(huán)等錯(cuò)誤會(huì)導(dǎo)致程序CPU占用升高,ADM退出、卡死等錯(cuò)誤。
"@@" 為全局白名單
可以排除某網(wǎng)站整站或某網(wǎng)站目標(biāo)腳本的攔截,如@@|http://$domain=.baidu.com|、@@|http://www.baidu.com/js/ads.js
"S:" 為https域名白名單
白名單的域名ADM只會(huì)轉(zhuǎn)發(fā),不會(huì)進(jìn)行攔截過(guò)濾,如S:jd.com、S:taobao.com