阅读:1868回复:0
【已解决】关于ABP元素隐藏白名单的疑问
***有一个资源站A,把广告和下载链接做成相似的元素,故意让ABP误杀,以下给出网站结构示意
ABP订阅规则:A.us##a[href*="/go/"] 网址: https://A.us/96647.html 测试页面:acg18.us/96647.html,仅供测试,悄悄上车,不要扩散…… 页面结构: <span class="dl"> <!-- 这个<a>的内容就是下载链接 --> <a rel="nofollow" target="_blank" href="https://A.us/go/?url=http://pan.baidu.com/s/1boA1T1P"> 下载链接 </a> <a id="faz">提取码:6666</a> </span> <div class="buyaoa-below"> <p class="box-title">广告</p> <!-- 这个<a>的内容则是广告 --> <a href="https://A.us/go/?url=adbottom" target="_blank" rel="nofollow"> <img src="https://ws1.sinaimg.cn/广告图片.jpg"> </a> </div> 可见下载链接和广告的<a>都长得一样,满足ABP元素隐藏规则,同时被隐藏掉了 我希望只隐藏广告,所以在自定义加上了一条白名单规则,然而并没有什么卵用。换了几条规则,结果如下: 规则1: A.us#@#.dl > a[href*="/go/"] : 毫无效果 规则2: A.us#@#.dl > a[rel=nofollow] : 毫无效果 规则3: A.us#@#a[href*="/go/"] : 广告和下载链接都出现了 ![]() 那么问题来了…… 1. 为什么规则1、规则2的写法不行? 2. 要到显示下载链接隐藏广告的目的,白名单规则应该怎么写? *** 经确认,#@#语法并不是”白名单“,只是”排除“,必须使用同样的语法禁用原rule之后再添加新的语法,因此要实现上述功能,必须至少添加2条rule,一条禁用原规则,一条定义新规则 参考:https://adblockplus.org/en/filters#elemhide_exceptions |
|
|