Inhaltsblockierung, Browser-Erweiterung für Chrom

    Der Haupttrend dieses Jahres lautet „Blockieren“, die unten beschriebene Erweiterung, mit der Sie die Macht über den Inhalt des Browsers spüren können.


    Ich erinnere mich an eine lange Zeit in meiner Kindheit, als ich beim Fernsehen, während der Werbeblöcke, immer eine Art Pause als Schulpause machte, in die Küche oder in die Latrine ging, zu anderen Kanälen wechseln, mit dem Alter wurde eine Rauchpause hinzugefügt.

    Jetzt schaue ich selten fern, lese Nachrichten im Internet, ich verwende Werbeblocker. Wenn sie telefonieren und versuchen, Finanzdienstleistungen oder einen Fenstermeister zu erzwingen, lege ich auf. Manchmal, mit seltenen Ausnahmen, gibt es interessante oder witzige Werbespots, aber selbst solche Videos werden nach dem zweiten Betrachten zu regulärer Werbung.

    Vor ein paar Jahren fiel mir auf, dass man auf allen Nachrichtenseiten nicht sagen konnte, dass ein Tag ohne Nachrichten über Blogger vergangen wäre: Es gibt einen Konflikt zwischen Bloggern oder Bloggern in der Staatsduma. Ein Blogger ist so ein "neuer Name" und wie üblich "der sehr, sehr" Blogger aller anderen Blogger. Gleichzeitig schreiben sie selten Kriterien, warum er "der Allerhöchste" ist, so dass der Leser Videos anschauen oder das Internet durchsuchen kann, das im nächsten Blogger "sich selbst" ist. Blogger führen ein neues Wort „Sandpaper“ ein, Blogger sind in den Armen, Blogger machen ihre Show.

    Das letzte Jahr über Nachrichtenblogger ist weniger geworden, der Anführer ist jetzt "B ... wah", ich erwähne das nicht ausdrücklich. Es besteht die Gefahr, dass der Artikel in eine weitere Nachricht über "B ... woo" umgewandelt wird. Daher gibt es jeden Tag neue Nachrichten. Journalisten werden oft buchstäblich gezwungen, dem Link zu folgen.

    Ich würde noch ein paar Beispiele schreiben, aber ich werde es nicht tun, da es sich bei dem oben beschriebenen nicht um einen Versuch handelt, durch Kritik an anderen gut zu sein. Mit allen Dingen kann rohe Gewalt oder Überdosis sein. Ich bin mehr als zuversichtlich, dass jeder seine eigenen „Anführer“ in den Nachrichten hat, die sie lieber nicht sehen würden, ohne dass ihr Tag besser wäre.

    Die obigen Beispiele sind im Wesentlichen eine Art Werbung, aber die Verbreitung in Form von Nachrichten fällt nicht unter Werbeblocker. Viele Browser verfügen über integrierte Werbeblocker. Leider ist es nicht möglich, Inhalte durch Wörter im Inhalt zu blockieren. Ich habe versucht, in Erweiterungen zu suchen, fand es aber nicht mit der notwendigen Beschreibung, Ad Blocker fielen mir auf, die durch Worte zu blockieren schienen, aber nicht zu installieren versuchten. Ich habe kürzlich mehrere Artikel gesehen, bei denen nicht alle Erweiterungen sicher sind, und es ist interessanter, eigene, einfache Texte zu schreiben, die nur die notwendige Funktion zum Ausschneiden des Inhalts haben.

    Es gibt viele Artikel zum Erstellen von Erweiterungen, aber dieser Artikel ist keine Anweisung zum Erstellen.
    Die erste Version der Erweiterung stellte sich innerhalb weniger Stunden heraus, der Schneidealgorithmus ist einfach und vielseitig. Die Kehrseite der Universalität ist, dass der Algorithmus möglicherweise nicht für alle Standorte geeignet ist. Für die Sichtbarkeit der Erweiterung musste ich jedoch viel mehr Code schreiben, um die Zähler und den verborgenen Inhalt für jede Seite anzuzeigen.

    Der Teil content_script.js ist die hauptsächliche Blockierungslogik für Inhalte:

    let search = document.evaluate('/html/body//*[contains(., "Б...в") and count(child::node())<childsLimit]', document.body, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
    let thisHeading = search.iterateNext(); 
    while (thisHeading) {
      if (thisHeading.tagName !== 'script' && thisHeading.style.display != 'none') {
        thisHeading.style.display = 'none';
      }
      thisHeading = search.iterateNext();
    }

    Im obigen Fragment sehen Sie, dass die Methode "document.evaluate" verwendet wird. Bei der Suche nach Text in Tags fallen auch die Stammelemente in die Ergebnisse. Zum Beispiel der Text der gesamten Seite, der Text des Newsblocks usw. Verwenden Sie die zweite Bedingung für die Anzahl der verschachtelten untergeordneten Elemente, um nicht benötigte Elemente zu entfernen. In meinem Fall kam die Nummer 9. Auf drei Seiten ist der Überschuss schnell und einfach ausgeblendet, obwohl manchmal auf einer der Seiten in einem bestimmten Block ein Foto vorhanden ist, jedoch ohne einen Link zu den Nachrichten und Links zum Bild.

    Es gab anfangs den Wunsch, eine Erweiterungseinstellungsseite zu erstellen, vielleicht werde ich es später tun. In der Zwischenzeit werden die Grundeinstellungen direkt im Code vorgenommen.

    Teil von background.js - Einstellungen zum Blockieren von Inhalten:

    let childsLimit = 9;
    let blockString = '[contains(., "Б...в") and count(child::node())<childsLimit]';
    let blockOnlyUrlOpt = false;
    let urlOptions = [{url: 'https://exampleSite.com', unBlock: true, childsLimit: 4}];
    

    Mit der ersten Variablen "childsLimit" können Sie die Gesamtstufe der verschachtelten und blockierenden Elemente festlegen.

    Die zweite Variable „blockString“ enthält die Xpath-Bedingung. Wenn Sie ein neues Wort hinzufügen, müssen Sie alles zusammen mit eckigen Klammern kopieren und am Ende mit dem Wort „oder“ hinzufügen und dann das Suchwort durch Anführungszeichen ersetzen.

    let blockString = '[contains(., "СловоБлокировки1") and count(.//*)<childsLimit] or [contains(., "СловоБлокировки2") and count(.//*)<childsLimit]';
    

    Die dritte Variable „urlOptions“ ermöglicht Ihnen die Feinabstimmung verschiedener Standorte.
    Eigenschaft "url" - enthält die Adresse, auf die die Einstellung angewendet wird.
    Die Eigenschaft "unBlock" - ein boolescher Wert "true", kann den Inhalt der in der
    Eigenschaft " url" angegebenen Eigenschaft "childsLimit" der Verschachtelungsebene des zu blockierenden Inhaltselements nicht blockieren.
    Die vierte Variable blockOnlyUrlOpt ermöglicht die Definition einer allgemeinen Logik. Wenn der Wert "true" ist, funktioniert die Sperre nur für die Websites, die im Variablenarray "urlOptions" aufgeführt sind, wobei die Eigenschaft "unBlock" "false" ist.

    Erweiterungsdateien sind unter dem Link verfügbar.

    Zur Installation müssen Sie Folgendes tun:

    • Laden Sie alle Dateien in einem beliebigen Ordner herunter.
    • Wechseln Sie im Browser zur Erweiterung und aktivieren Sie den Entwicklermodus.
    • Mit dem Button "Unpacked extension laden ..." legen Sie einen Ordner ab Punkt eins fest.

    Entwickelt und getestet im Opera-Browser, sollte es auch mit anderen Chrom-Browsern funktionieren.

    Jetzt auch beliebt: