微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

uBlock 规则不适用

如何解决uBlock 规则不适用

uBlock 阻止了来自某个网​​站的广告,但它留下了大的(高度)div,它在加载后扩展了网站并将主要文本向下推。使用“块是元素”给了我

###js-ad-container-XYZ

XYZ 是一个随机字符串作为选择器并使用此建议,div 被删除,但在转到该站点上的另一篇文章后再次出现。

为了通配随机数,我发现 this blog post 建议使用 www.annoyingwebsite.com##div[id^="start_of_div_name_before__randomnumber"],因此我尝试将规则更改为

that-site.com##div[id^="js-ad-container"]

但这似乎不起作用,因为过滤器编辑器在行中显示错误,并且巨大的 div 仍在网站上单击过滤器编辑器中的预览。我也尝试在 div 之前使用三个 ### 但这也没有帮助。我想这是一件应该可行的简单事情,所以我希望我做错了...

编辑:我检查了检查员,该元素实际上是一个带有 id 的 div,因为它在使用上下文菜单中的“块元素”时出现在编辑器中。

解决方法

#js-ad-container-XYZ 表示您要阻止 ID 为 js-ad-container-XYZ 的元素。在您第二次尝试时,您说只阻止具有该 ID 的 div 节点。这将做同样的事情,更糟糕的情况是它不会匹配任何节点。我发现您通常需要将块扩展到任意数量的父节点,直到您阻止相关容器。为此,您使用 nth-ancestor():

that-site.com##div[id^="js-ad-container"]:nth-ancestor(1)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。