Nouvelles opportunités de Habr: comment se désinscrire des utilisateurs et des blogs publicitaires

Beaucoup sur Habr demandent comment filtrer les publications des auteurs individuels et des blogs d'entreprise. Plus récemment, cette fonctionnalité est apparue - cependant, cela nécessite la dernière version du bloqueur Adblock.


Pour ceux qui ne veulent pas lire plus loin, je vais simplement donner le code du filtre Adblock pour vous désinscrire des publications de l'un des auteurs.

geektimes.ru#?#li:-abp-has(a.user-info[href*="username"]) 

Certes, cela ne fonctionne pas dans tous les navigateurs et pas dans tous les cas. Pour ceux qui sont intéressés par comment et quand ça marche, je demande un chat.

La possibilité d'un tel filtrage est apparue avec l'avènement des pseudo-sélecteurs CSS dans les nouvelles versions d'Adblock, qui ne sont pas habituelles en CSS. Ils vous permettent de verrouiller le parent si une condition de l'enfant est remplie.

Tout d'abord, vous devez vous assurer que votre version du navigateur et du bloc publicitaire prend en charge cette fonctionnalité. La nouvelle syntaxe fonctionne dans les versions Adblock Plus 1.13.3 et supérieures pour Chrome et Opera. De plus, à partir du 6 novembre, l'opportunité est apparue dans Adblock Plus 3.0 pour Firefox. Mais cela n'est vrai que pour les nouveaux navigateurs, par exemple, j'ai une telle option dans Chrome version 57, mais dans Chrome version 49, que j'utilise habituellement, la fonctionnalité n'est pas prise en charge.

Vous pouvez le vérifier en entrant le filtre geektimes.ru#?#img Si en même temps toutes les photos du site disparaissent, de nouvelles fonctionnalités sont incluses. Si rien ne change, vous devez être mis à jour.

Le fonctionnement des pseudo-sélecteurs est décrit en détail ici dans la section Sélecteurs CSS étendus. Il y a aussi des exemples. Pour commencer, lors de l'écriture d'un filtre, vous devez remplacer domain.com##selector par domain.com#?#selector (vous devez entrer le nom de domaine). Cette syntaxe inclut le mécanisme de pseudo-sélecteur. Le sélecteur lui-même est écrit sous la forme :-abp-properties() ou :-abp-has() Les éléments entre parenthèses utilisent la même syntaxe que dans le bloc d'annonces lui-même. L'imbrication de pseudo-sélecteurs est également prise en charge.

Ainsi, pour bloquer l'intégralité du post, il suffit d'y trouver au moins un champ caractéristique, par exemple l'attribut href avec le nom de l'auteur, pour que le post entier puisse être bloqué.

Par exemple, bloquer l'élément li , à l'intérieur duquel se trouve un lien avec la classe default-block__header-link, qui à son tour fait référence à une URL avec le mot megapost:

 geektimes.ru#?#li:-abp-has(a.default-block__header-link[href*="megapost"]) 

Il faut se rappeler que de tels pseudo-sélecteurs fonctionnent assez lentement, car ils ne sont qu'une imitation de propriétés qui n'existent pas dans CSS, et contredisent légèrement la façon dont les navigateurs analysent ce CSS. Il explique en détail pourquoi cela se produit. Ainsi, l'inclusion de telles règles ralentit considérablement le chargement des pages.

Pour ceux qui ont lu l'article à cet endroit, un bonus supplémentaire: une recette pour se désinscrire de tous les blogs publicitaires de giktimes (bien que je ne recommande pas de le faire: parmi les blogs il y en a extrêmement intéressants, par exemple, un blog de Yandex)

 geektimes.ru#?#li:-abp-has(a.inline-list__item-link[href*="company"]) 

Maintenant, vous pouvez facilement créer vos propres filtres - par exemple, filtrer les articles par note, nombre de vues ou nombre de commentaires.

J'espère qu'avec la nouvelle fonctionnalité Adblock, la lutte pour les lecteurs atteindra un nouveau niveau - les entreprises devront désormais rédiger des articles de haute qualité et ne pas copier un avis publicitaire de leurs sites.

Source: https://habr.com/ru/post/fr408239/


All Articles