Habr上的许多人都
问如何过滤个人作者和公司博客的帖子。 最近,此功能已出现-但是,这需要最新版本的Adblock阻止程序。
对于那些不想进一步阅读的人,我只提供Adblock过滤器代码,供您取消订阅其中一位作者的帖子。
geektimes.ru#?#li:-abp-has(a.user-info[href*="username"])
是的,这并非在所有浏览器中都有效,并非在所有情况下都适用。 对于那些对它如何工作以及何时工作感兴趣的人,我请一只猫。
随着Adblock的新版本中所谓的CSS伪选择器的出现,出现了这种过滤的可能性,这在CSS中并不常见。 如果满足孩子中的任何条件,它们使您可以锁定父母。
首先,您需要确保您的浏览器和adblock版本支持此功能。 新语法可在适用于Chrome和Opera的Adblock Plus 1.13.3及更高版本中使用。 同样,从11月6日开始,该机会出现在Firefox的Adblock Plus 3.0中。 但这仅适用于新的浏览器,例如,我在Chrome版本57中有这样的选项,但是在我通常使用的Chrome版本49中,不支持该功能。
您可以通过输入过滤器
geektimes.ru#?#img
来验证这一点。
geektimes.ru#?#img
如果同时
geektimes.ru#?#img
站点上的所有图片,则包括新功能。 如果没有任何变化,则需要更新。
伪CSS选择器是如何工作的,请参见“扩展CSS选择器”部分。 也有例子。 首先,编写过滤器时,需要将
domain.com##selector
替换为
domain.com#?#selector
(必须输入域名)。 该语法包括伪选择器机制。 选择器本身的格式为
:-abp-properties()
或
:-abp-has()
括号中的元素使用与广告单元本身相同的语法。 还支持伪选择器的嵌套。
因此,要屏蔽整个帖子,只需在其中找到至少一个特征字段即可,例如带有作者姓名的href属性,以便可以屏蔽整个帖子。
例如,阻止
li元素,该元素中包含一个带有default-block__header-link类的链接,而该链接又指向带有单词megapost的URL:
geektimes.ru#?#li:-abp-has(a.default-block__header-link[href*="megapost"])
应当记住,此类伪选择器的工作相当缓慢,因为它们只是对CSS中不存在的属性的模仿,与浏览器如何解析此CSS有点矛盾。
它详细描述了为什么会发生这种情况。 因此,包含此类规则会大大减慢页面的加载速度。
对于那些到这里阅读过这篇文章的人来说,还有一个额外的好处:退订giktimes所有广告博客的食谱(尽管我
不建议这样做:在博客中有非常有趣的博客,例如Yandex的博客)
geektimes.ru#?#li:-abp-has(a.inline-list__item-link[href*="company"])
现在,您可以轻松创建自己的过滤器-例如,按等级,视图数或评论数过滤文章。
我希望借助新的Adblock功能,读者的斗争将达到一个新的高度-现在公司将不得不撰写高质量的帖子,而不是从其网站上复制广告评论。