Adblock Plus - 白名单规则
Adblock Plus - whitelisting rule
我在页面上有一个看起来像这样的元素:
<a data-mytype="myvalue" href="http://example.com/promo/page">...</a>
此元素被以下 ABP 规则隐藏(出现在我使用的过滤器订阅之一中):
##[href*="/promo"]
如何编写白名单规则,根据特定的 attribute/value 对(例如 data-mytype="myvalue"
对)排除该元素被 Adblock Plus 隐藏?
我查看了 Writing Adblock Plus filters and Adblock Plus filters explained 页面,但我还没有弄清楚如何(成功地)编写基于指定属性的过滤器。
两个页面都提到标准 CSS 选择器应该可以工作,但这似乎不起作用:
@@a[data-mytype="myvalue"]
我也试过以下方法:
#@#[href*="/promo"][data-mytype="myvalue"]
我错过了什么?
注意:我不想要一个只会取消 ##[href*="/promo"]
的规则,我正在寻找一个将仅基于特定 attribute/value 对的元素列入白名单的规则。
编辑 (2016-03-17): 稍微澄清了我的问题。
规则 ###yourdiv
可以被 #@##yourdiv
禁用(##.yourclass
被 #@#.yourclass
禁用)
你的情况:#@#[data-mytype="myvalue"]
您首先禁用现有规则:
#@#[href*="/promo"]
请注意,选择器必须相同,否则元素隐藏例外将不适用。然后您可以添加自己的规则,该规则将考虑 data-mytype
属性:
##[href*="/promo"]:not([data-mytype="myvalue"])
这两个规则的组合应该有你想要的效果。供参考::not() CSS pseudo-class
我在页面上有一个看起来像这样的元素:
<a data-mytype="myvalue" href="http://example.com/promo/page">...</a>
此元素被以下 ABP 规则隐藏(出现在我使用的过滤器订阅之一中):
##[href*="/promo"]
如何编写白名单规则,根据特定的 attribute/value 对(例如 data-mytype="myvalue"
对)排除该元素被 Adblock Plus 隐藏?
我查看了 Writing Adblock Plus filters and Adblock Plus filters explained 页面,但我还没有弄清楚如何(成功地)编写基于指定属性的过滤器。
两个页面都提到标准 CSS 选择器应该可以工作,但这似乎不起作用:
@@a[data-mytype="myvalue"]
我也试过以下方法:
#@#[href*="/promo"][data-mytype="myvalue"]
我错过了什么?
注意:我不想要一个只会取消 ##[href*="/promo"]
的规则,我正在寻找一个将仅基于特定 attribute/value 对的元素列入白名单的规则。
编辑 (2016-03-17): 稍微澄清了我的问题。
规则 ###yourdiv
可以被 #@##yourdiv
禁用(##.yourclass
被 #@#.yourclass
禁用)
你的情况:#@#[data-mytype="myvalue"]
您首先禁用现有规则:
#@#[href*="/promo"]
请注意,选择器必须相同,否则元素隐藏例外将不适用。然后您可以添加自己的规则,该规则将考虑 data-mytype
属性:
##[href*="/promo"]:not([data-mytype="myvalue"])
这两个规则的组合应该有你想要的效果。供参考::not() CSS pseudo-class