白左
千年狐狸
千年狐狸
  • UID34985
  • 注册日期2010-12-29
  • 最后登录2023-11-13
  • 发帖数2039
  • 经验655枚
  • 威望0点
  • 贡献值364点
  • 好评度69点
  • 社区居民
  • 忠实会员
阅读:1511回复:0

【已解决】关于ABP元素隐藏白名单的疑问

楼主#
更多 发布于:2017-05-03 23:07
***有一个资源站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/"]    : 广告和下载链接都出现了

本来就对css优先级不太弄得清楚,现在就更糊涂了……
那么问题来了……
1. 为什么规则1、规则2的写法不行?
2. 要到显示下载链接隐藏广告的目的,白名单规则应该怎么写?


*** 经确认,#@#语法并不是”白名单“,只是”排除“,必须使用同样的语法禁用原rule之后再添加新的语法,因此要实现上述功能,必须至少添加2条rule,一条禁用原规则,一条定义新规则
参考:https://adblockplus.org/en/filters#elemhide_exceptions
-いたんですか? -ええ、ずっと
游客

返回顶部