ADM支持绝大数的ABP规则语法,基本规则基于ABP规则,并进行了字符替换部分的扩展。
ABP规则请参考:
https://adblockplus.org/zh_CN/filters
CSS选择器参考:
http://www.w3school.com.cn/cssref/css_selectors.asp
"!" 为行注释符
注释行以该符号起始作为一行注释语义,用于规则描述。
"|" 为管线符号
来表示地址的最前端或最末端 比如 "|http://" 或 |
http://www.abc.com/a.js|
,用于精确控制匹配的开始或结束。e.g:|
http://www.abc.com
等于|
http://www.abc.com*
,可以匹配以
http://www.abc.com
开头的网址。
"||" 为子域通配符
方便匹配主域名下的所有子域。比如 "||
www.baidu.com
" 就可以不要前面的协议"http://"。e.g:||
www.abc.com
等于
www.abc.com
,只要网址中包含
www.abc.com
就可以被匹配。
"~" 为排除标识符
通配符能过滤大多数广告,但同时存在误杀, 可以通过排除标识符修正误杀链接。
"@@" 网址白名单
例如不拦截此条地址 @@|
http://www.baidu.com/js/u.js
或者 @@||
www.baidu.com/js/u.js
"*" 为字符通配符
能够匹配0长度或任意长度的字符串。
"^" 为分隔符
可以匹配任何单个字符。
"##"、"#@#"、"##&" 这3种为元素插入语法
在语句末尾加 $B , 可以选择插入css语句在</body>前, 默认为</head>,CSS放在head和body没有区别,但要注意最后面的CSS定义样式会覆盖前面的(相同权重级别情况下),CSS权重:style > id > class > element。
"##" 为元素选择器标识符
后面跟需要隐藏元素的CSS样式例如 #ad_id .ad_class,只要写上CSS选择器,ADM程序会自动在后面加上{!important}隐藏的样式。
"#@#" 元素选择器白名单
可以指除指定元素避免程序在加上隐藏的样式。
"##&" 为JQuery选择器标识符
后面跟需要隐藏元素的JQuery筛选语法, 如 ##&div:has(p),也可以写像##一样的普通元素选择器,这类的规则为加强版的规则,可以避免源网页的元素定义的元素样式比所写的选择还要高导致隐藏样式{!important}失效。
"##%" 是ADM自有的一种语法
经过这种语法插入的选择器程序不会在选择器后面加上{!important}的隐藏样式,需要自己写{}中的样式部分,用于修正隐藏后的移位、留白等问题。如:##%.main{width:200px;height:50px;margin-top:-20px}
全局元素隐藏
元素隐藏支持全局规则##.ad_text不需要前面配置域名,对所有页面有效。简单有效,但误杀会比较多,慎用!
"$s和$S" 为文本替换标识标