Neue Möglichkeiten von Habr: Abmelden von Nutzern und Werbeblogs

Viele bei Habr fragen, wie Beiträge einzelner Autoren und Unternehmensblogs gefiltert werden können. In letzter Zeit ist diese Funktion erschienen. Hierfür ist jedoch die neueste Version des Adblock-Blockers erforderlich.


Für diejenigen, die nicht weiter lesen möchten, gebe ich nur den Adblock-Filtercode zum Abbestellen von Beiträgen eines der Autoren.

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

Dies funktioniert zwar nicht in allen Browsern und nicht in allen Fällen. Für diejenigen, die daran interessiert sind, wie und wann es funktioniert, bitte ich um eine Katze.

Die Möglichkeit einer solchen Filterung trat mit dem Aufkommen der sogenannten CSS-Pseudoselektoren in neuen Versionen von Adblock auf, die in CSS nicht üblich sind. Sie ermöglichen es Ihnen, die Eltern zu sperren, wenn eine Bedingung im Kind erfüllt ist.

Zunächst müssen Sie sicherstellen, dass Ihre Version des Browsers und des Adblocks diese Funktion unterstützt. Die neue Syntax funktioniert in Adblock Plus-Versionen 1.13.3 und höher für Chrome und Opera. Ab dem 6. November erschien die Gelegenheit auch in Adblock Plus 3.0 für Firefox. Dies gilt jedoch nur für neue Browser. Ich habe beispielsweise eine solche Option in Chrome Version 57, aber in Chrome Version 49, die ich normalerweise verwende, wird die Funktion nicht unterstützt.

Sie können dies überprüfen, indem Sie den Filter geektimes.ru#?#img Wenn gleichzeitig alle Bilder auf der Site verschwinden, werden neue Funktionen geektimes.ru#?#img . Wenn sich nichts ändert, müssen Sie aktualisiert werden.

Die Funktionsweise von Pseudo-Selektoren wird hier im Abschnitt Erweiterte CSS-Selektoren ausführlich beschrieben. Es gibt auch Beispiele. Zunächst müssen Sie beim Schreiben eines Filters den domain.com##selector domain.com#?#selector domain.com##selector domain.com#?#selector (Sie müssen den Domainnamen eingeben). Diese Syntax enthält den Pseudoauswahlmechanismus. Der Selektor selbst hat die folgende Form :-abp-properties() oder :-abp-has() Die Elemente in Klammern verwenden dieselbe Syntax wie im Anzeigenblock. Das Verschachteln von Pseudo-Selektoren wird ebenfalls unterstützt.

Um den gesamten Beitrag zu blockieren, reicht es also aus, mindestens ein charakteristisches Feld darin zu finden, beispielsweise das href-Attribut mit dem Namen des Autors, damit der gesamte Beitrag blockiert werden kann.

Beispiel: Blockieren des li- Elements, in dem sich ein Link mit der Klasse default-block__header-link befindet, der sich wiederum auf eine URL mit dem Wort megapost bezieht:

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

Es sollte beachtet werden, dass solche Pseudo-Selektoren ziemlich langsam arbeiten, da sie nur eine Nachahmung von Eigenschaften sind, die in CSS nicht vorhanden sind, und leicht widersprechen, wie Browser dieses CSS analysieren. Es wird ausführlich beschrieben, warum dies geschieht. Die Aufnahme solcher Regeln verlangsamt das Laden von Seiten erheblich.

Für diejenigen, die den Artikel an dieser Stelle gelesen haben, ein zusätzlicher Bonus: ein Rezept zum Abbestellen aller Werbeblogs von giktimes (obwohl ich dies nicht empfehle : Unter den Blogs gibt es äußerst interessante, zum Beispiel einen Blog von Yandex).

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

Jetzt können Sie ganz einfach Ihre eigenen Filter erstellen, z. B. Artikel nach Bewertung, Anzahl der Aufrufe oder Anzahl der Kommentare filtern.

Ich hoffe, dass mit der neuen Adblock-Funktion der Kampf um die Leser ein neues Niveau erreicht - jetzt müssen Unternehmen qualitativ hochwertige Beiträge schreiben und dürfen keine Werbebewertung von ihren Websites kopieren.

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


All Articles