我尝试了解adblock如何隐藏元素。我只看到-moz-binding: url("about:abp-elemhidehit?067696143543#dummy") !important;
之类的东西。这个绑定是空的。我查看了源代码并看到拦截AboutHandler
的{{1}},但看起来这个类只计算过滤器中的匹配数。如何-moz-binding可以隐藏节点?
答案 0 :(得分:2)
open
method of the HitRegistrationChannel
会在未命中时返回<bindings xmlns='http://www.mozilla.org/xbl'><binding id='dummy'/></bindings>
,在点击时返回<bindings xmlns='http://www.mozilla.org/xbl'/>
。
前者看似中立且不引人注目。但后者具有display:none
的效果。
我不知道这种方法的好处是什么,但它确实有效。
编辑:可能不受信任的代码可以修改css属性,但不能修改-moz-binding