NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Remove Ads On Spiegel.de // @namespace * // @include http://www.spiegel.de/* // @include https://www.spiegel.de/* // @grant none // @license GPL-3.0-or-later // ==/UserScript== /** * (en) Removes node by its attribute value * (de) Entfernt einen Knoten anhand des Wertes eines Attributs */ function removeNodeByAttributeValue(tag, attr, val) { var es = document.getElementsByTagName(tag); /* (en) walk through the list of elements with this tag name * and remove the ones with this attribute and value from its parent */ /* (de) gehe die Liste der Elemente durch, die den angegebenen Tag-Namen * besitzen, und entferne diejenigen Elemente, die das angegebene Attribut * und den angegebenen Wert besitzen, aus der Liste der Kinderknoten des * Vaterknotens */ for (var i = 0; i <= (es.length - 1); i++) { if (es[i].getAttribute(attr) == val) { es[i].parentNode.removeChild(es[i]); } } } /* (en) remove outbrain advertisement imgs */ /* (de) entferne die Outbrain-Werbe-Bilder */ function removeOutbrainImgs() { var es = document.querySelectorAll('[referrerpolicy="unsafe-url"]'); for (var i = 0; i <= (es.length - 1); i++) { es[i].parentNode.removeChild(es[i]); } } /* (en) remove ad divs (where its class ends with a space) */ /* (de) entfernt Werbe-Divs (divs, deren Klasse mit einem Leerzeichen endet) */ function removeAdDivs() { var es = document.getElementsByTagName('div'); /* (en) walk through the list of div elements * and remove the ones with a class value that ends with a space */ /* (de) gehe die Liste der Div-Elemente durch und entferne diejenigen Elemente, * deren Klassenwert mit einem Leerzeichen endet. */ for (var i = 0; i <= (es.length - 1); i++) { if (es[i].getAttribute('class') != null && es[i].getAttribute('class') != '') { var l = es[i].getAttribute('class').length; if (es[i].getAttribute('class')[l - 1] == ' ') { es[i].parentNode.removeChild(es[i]); } } } } /* (en) remove ad imgs from spiegel.de */ /* (de) entferne die Werbebilder von */ /* (en) remove outbrain advertisement imgs and vi video */ /* (de) entferne die Outbrain-Werbe-Bilder und das vi-Video */ function removeAds() { removeOutbrainImgs(); removeAdDivs(); removeNodeByAttributeValue('div', 'data-area', 'vouchers'); removeNodeByAttributeValue('div', 'class', 'vi-stories-top-div viUnit2'); removeNodeByAttributeValue('div', 'class', 'vr-vpaid-container'); removeNodeByAttributeValue('div', 'class', 'advertisement-filled:mb-24 advertisement-filled:clear-both'); removeNodeByAttributeValue('div', 'class', 'iqdcontainer md:advertisement-filled:overflow-hidden sm:advertisement-filled:overflow-hidden lg:advertisement-filled:py-8 md:advertisement-filled:py-8 sm:advertisement-filled:py-4'); removeNodeByAttributeValue('div', 'class', 'iqdcontainer md:advertisement-filled:overflow-hidden sm:advertisement-filled:overflow-hidden relative z-10 lg:advertisement-filled:py-8 md:advertisement-filled:py-8'); removeNodeByAttributeValue('div', 'class', 'iqdcontainer md:advertisement-filled:overflow-hidden sm:advertisement-filled:overflow-hidden lg:advertisement-filled:py-8 md:advertisement-filled:py-8 sm:advertisement-filled:py-4 iqdad'); removeNodeByAttributeValue('div', 'class', 'iqdcontainer md:advertisement-filled:overflow-hidden sm:advertisement-filled:overflow-hidden relative z-10 lg:advertisement-filled:py-8 md:advertisement-filled:py-8 iqdad'); removeNodeByAttributeValue('div', 'class', 'advertisement-filled:mb-24 advertisement-filled:clear-right lg:advertisement-filled:float-right md:advertisement-filled:float-right lg:advertisement-filled:mr-1/12 md:advertisement-filled:mr-1/12 lg:advertisement-filled:ml-24 md:advertisement-filled:ml-24 lg:advertisement-filled:px-24 md:advertisement-filled:px-24'); removeNodeByAttributeValue('div', 'class', 'relative w-full group lg:advertisement-filled:my-16 md:advertisement-filled:my-16 sm:advertisement-filled:my-8'); removeNodeByAttributeValue('section', 'class', 'relative w-full group lg:advertisement-filled:my-16 md:advertisement-filled:my-16 sm:advertisement-filled:my-8'); removeNodeByAttributeValue('div', 'class', 'sfaobjm0 sfaobjp0'); removeNodeByAttributeValue('div', 'class', 'sfaobjm1 sfaobjp1'); removeNodeByAttributeValue('div', 'class', 'sfaobjm2 sfaobjp2'); removeNodeByAttributeValue('div', 'class', 'sfaobjm3 sfaobjp3'); removeNodeByAttributeValue('div', 'class', 'sfaobjm4 sfaobjp4'); removeNodeByAttributeValue('div', 'class', 'sfaobjm5 sfaobjp5'); removeNodeByAttributeValue('div', 'class', 'sfaobjm6 sfaobjp6'); } /* (en) remove outbrain advertisement imgs and vi video */ /* (de) entferne die Outbrain-Werbe-Bilder und das vi-Video */ setInterval(removeAds, 5000);