Greasy Fork

spiegel.de: entferne störende Elemente

Entfernt ausgewählte Elemente von Spiegel Online

当前为 2021-03-02 提交的版本,查看 最新版本

// ==UserScript==
// @name        spiegel.de: entferne störende Elemente
// @description Entfernt ausgewählte Elemente von Spiegel Online
// @namespace   https://greasyfork.org/de/users/541444-critias
// @match       https://www.spiegel.de/
// @match       https://www.spiegel.de/*
// @version     2.0
// @grant       none
// ==/UserScript==

//entfernt versteckte Elemente von der Startseite, damit diese später nicht stören
if(window.location.href === "https://www.spiegel.de/"){
var hauptteil = document.querySelector('.lg\\:pt-8');
var links10 = hauptteil.querySelectorAll('.lg\\:hidden, .hidden');
for(var link10 of links10) {
       if(link10 && link10.parentElement){
       link10.parentElement.removeChild(link10);
      }}
};

var candidateSelectors = [
    'article.py-16',
    'li.py-16',
    'article > article.lg\\:py-24',
    'div.sm\\:-mt-16',
    'div.pb-16',
    'ul > li',
    'div.mb-16',
    'div.z-10',
    'main.z-20 > section.relative',
    'div.swiper-container',
    'div.lg\\:pt-8',
];

//Liste mit Elementen, die entfernt werden
var links = document.querySelectorAll(`[data-contains-flags^="sponconditional"],
                                       [data-contains-flags^="Spplus-paid"],
                                       [data-contains-flags^="sponpaid"],
                                       [data-contains-flags^="conditional"],
                                       [data-contains-flags^="paid"],
                                       [data-contains-flags^="hbmpaid"],
                                       [data-conditional-flag^="paid"],
                                       [data-conditional-flag="sponpaid"],
                                       [data-target-id="content-marketing"],
                                       div [aria-label^=Anzeige],
                                       div [aria-label="Die Bilder des Tages"],
                                       div [data-target-id="digital-abo-ew"],
                                       path[d^="M7.103 4.003c1.144 0 1.776.816"],
                                      a[href^=\'https://www.spiegel.de/thema/auto-tests-im-video/\'],
                                      a[href^=\'https://www.spiegel.de/tests\'],
                                      a[href^=\'https://www.spiegel.de/thema/test_und_produkte\'],
                                      a[href^=\'https://www.spiegel.de/fotostrecke/bilder-des-tages\'],
                                      a[href^=\'https://www.spiegel.de/deinspiegel/\'],
                                      a[href^=\'https://www.bento.de\'],
                                      a[href^=\'http://www.bento.de\'],
                                      a[href^=\'https://www.manager-magazin.de\']`);
for(var link of links) {
  var containerElement = link.closest(candidateSelectors);
    var nextS = containerElement.nextElementSibling;
    var previousS = containerElement.previousElementSibling;
  if(containerElement && containerElement.parentElement){
      if (nextS && nextS.parentElement){
       if ((nextS.classList.contains("border-separator-b")| nextS.classList.contains("border-separator-r"))& !nextS.classList.contains("py-16")& !nextS.classList.contains("pb-16")) {
       nextS.parentElement.removeChild(nextS);
       var deleted = 1;
             }
      }
      if (!deleted) {
       if (previousS && previousS.parentElement){
        if ((previousS.classList.contains("border-separator-b")| previousS.classList.contains("border-separator-r"))& !previousS.classList.contains("py-16")& !previousS.classList.contains("pb-16")) {
              previousS.parentElement.removeChild(previousS);
              var deleted1 = 1;
          }
      }}
      if (!deleted & !deleted1) {
          var parent1 = containerElement.parentElement;
          var parent1S = parent1.previousElementSibling;
          if (parent1S && parent1S.parentElement){
              if ((parent1S.classList.contains("border-separator-b")| parent1S.classList.contains("border-separator-r"))& !containerElement.classList.contains("border-separator-b")& !parent1S.classList.contains("py-16")& !parent1S.classList.contains("pb-16")) {
              parent1S.parentElement.removeChild(parent1S);
              var deleted2 = 1;
      }}}
      if (!deleted & !deleted1 & !deleted2) {
          var parent1N = parent1.nextElementSibling;
          if (parent1N && parent1N.parentElement){
              if ((parent1N.classList.contains("border-separator-b")| parent1N.classList.contains("border-separator-r"))& !parent1N.classList.contains("py-16")& !parent1N.classList.contains("pb-16")) {
              parent1N.parentElement.removeChild(parent1N);
      }}}
      deleted = null;
      deleted1 = null;
      deleted2 = null;
    containerElement.parentElement.removeChild(containerElement);
  }
}

//Liste mit Abschnitten, die entfernt werden
(function() {
    'use strict';
    var badSpans = document.querySelectorAll(` div [data-settings*="newsletter"],
                                               div [data-component="AffiliateBox"],
                                               div [data-area^="block>topic:spiegel-bestseller"],
                                               div [data-area^="block>bestsellerslider"],
                                               div [data-area^="block>podlove"],
                                               div [data-area="block>stocks"],
                                               div [data-area="block>topic:produkte_im_test"],
                                               div [data-area="group:manager_magazin"],
                                               div [data-area*="_spiegel+"],
                                               section[data-area="block>highlight:bild_des_tages"],
                                               section[data-area="block>sportdaten"],
                                               section[data-area^="block>podlove"],
                                               section[data-area="block>DeinSPIEGEL"],
                                               section[data-area="latest-news"],
                                               section[data-area*="Podcast von bento"],
                                              [data-area^="block>podcastslider"]`)
    badSpans.forEach((s) => {
    if(s !== undefined) {
        s.remove()
      }
    })
})();

//entfernt den Abschnitt "Top bei SPIEGEL+"
var elList = document.querySelectorAll("div.leading-tight");
elList.forEach(function(el) {
    if (el.innerHTML.indexOf("Top bei SPIEGEL+") !== -1) {
         var containerElement3 = el.closest(candidateSelectors);
         var nextS2 = containerElement3.nextElementSibling;
         if(containerElement3 && containerElement3.parentElement){
             if (nextS2 && nextS2.parentElement){
            if (nextS2.classList.contains("border-separator-b")) {
              nextS2.parentElement.removeChild(nextS2);
          }
             }
            containerElement3.parentElement.removeChild(containerElement3);
  }
 }
});

//entfernt Hyperlinks, die auf Spiegel Plus Artikel / HBM Plus Artikel / die generische Thema-Seite verlinken, ohne den Text zu entstellen.
var links4 = document.querySelectorAll(".RichText a");
links4.forEach(function(el) {
    if (el.getAttribute("data-link-flag") === 'sponpaid') {
       el.replaceWith(...el.childNodes);
        }
        if (el.getAttribute("data-link-flag") === 'hbmpaid') {
       el.replaceWith(...el.childNodes);
}
    if (el.getAttribute("href").indexOf ("www.spiegel.de/thema/")!== -1) {
       el.replaceWith(...el.childNodes);
}
});

//entfernt den "Mehr ztum Thema" Abschnitt aus Artikeln, wenn alle vorgeschlagenen Artikel von Spiegel Plus sind. Selbst dann, wenn der Abschnitt irgend einen anderen Namen trägt.
var links5 = document.querySelectorAll("span.leading-tight");
for(var link5 of links5) {
    if ((link5.innerHTML.indexOf("Mehr lesen über") == -1)&(link5.innerHTML.indexOf("Verwandte Artikel") == -1)&(link5.innerHTML !== null)) {
         var group = link5.closest(".mx-auto");
         var artikel = group.querySelector(".items-center");
         if(group && group.parentElement){
             if (!artikel){
            group.parentElement.removeChild(group);
             }
  }
 }
};

//entfernt den "Verwandte Artikel" Abschnitt aus Artikeln, wenn alle vorgeschlagenen Artikel von Spiegel Plus sind und daher bereits entfernt wurden.
var links6 = document.querySelectorAll("span.leading-tight");
for(var link6 of links6) {
    if (link6.innerHTML.indexOf("Verwandte Artikel") !== -1) {
         var group2 = link6.closest(".w-full");
         var artikel2 = group2.querySelector(".pl-12");
         if(link6 && link6.parentElement){
             if (!artikel2){
            link6.parentElement.removeChild(link6);
             }
  }
 }
};

// entfernt etwaige Abschnitte von der Hauptseite, wenn alle enthaltenen Artikel von Spiegel Plus sind und daher bereits entfernt wurden.
var links8 = document.querySelectorAll('[data-area^="block>topic"]');
for(var link8 of links8) {
var artikel4 = link8.querySelector('div [data-area^="article_teaser>news"]');
      if (!artikel4){
        if(link8 && link8.parentElement){
       link8.parentElement.removeChild(link8);
      }}
};

// entfernt etwaige Rubriken unter "Alle Rubriken", wenn alle enthaltenen Artikel von Spiegel Plus sind und daher bereits entfernt wurden.
var links9 = document.querySelectorAll('div[data-area^="group:"]');
for(var link9 of links9) {
var artikel5 = link9.querySelector(".font-bold");
      if (!artikel5){
        if(link9 && link9.parentElement){
       link9.parentElement.removeChild(link9);
      }}
};