我试图了解 adblock 如何隐藏元素。我只看到类似 -moz-binding: url("about:abp-elemhidehit?067696143543#dummy") !important; 的东西。而这个绑定(bind)是空的。我查看源代码并看到 AboutHandler 拦截 abp-elemhidehit?(Math.Random) ,但看起来这个类只是计算过滤器中的命中数。 -moz-binding 如何隐藏节点?

最佳答案

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

关于firefox - adblock plus 如何隐藏元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22781571/

10-12 07:07