Greasy Fork

No "9GAGGER"

Remove 9gag's terrible promoted posts

当前为 2022-08-26 提交的版本,查看 最新版本

// ==UserScript==
// @name         No "9GAGGER"
// @namespace    http://tampermonkey.net/
// @version      0.3
// @description  Remove 9gag's terrible promoted posts
// @author       You
// @match        https://9gag.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=9gag.com
// @grant        none
// @license MIT
// ==/UserScript==

(function() {
    'use strict';
    let forbiddenTags = "politics;sjw;trump;jordan;peterson;girl;alphabet;latest news;alt right;altright;leftist;socialism;communism;china;russia;ukraine;covid;corona;rona".split(";");
    setInterval(() => {
        let authors = document.getElementsByClassName("ui-post-creator__author")

        for (let i = 0; i < authors.length; i++) {
            try {
                [...document.getElementsByClassName("post-tag")].forEach(tag => {
                    let text = tag.innerText.toLowerCase();
                    for (let k = 0; k < forbiddenTags.length; k++) {
                        if (text.indexOf(forbiddenTags[k]) !== -1) {
                            console.log("Removing bad tag - " + text);
                            tag.parentElement.parentElement.removeChild(tag.parentElement);
                            break;
                        }
                    }
                });
                [...document.getElementsByTagName("h1")].forEach(title => {
                    let text = title.innerText.toLowerCase();
                    if (text.trim() === "") {
                        console.log("Removing bad title - empty title");
                            let article = title.parentElement.parentElement.parentElement;
                            article.parentElement.removeChild(article);
                    }
                    for (let k = 0; k < forbiddenTags.length; k++) {
                        if (text.indexOf(forbiddenTags[k]) !== -1) {
                            console.log("Removing bad title - " + text);
                            let article = title.parentElement.parentElement.parentElement;
                            article.parentElement.removeChild(article);
                            break;
                        }
                    }
                });
                [...document.getElementsByClassName("down")].forEach(down => {
                    if (down.innerText == "•") {
                        console.log("Removing post - hidden votes");
                        let shit = down.parentElement.parentElement.parentElement.parentElement;
                        shit.parentElement.removeChild(shit);
                    }
                });
                if (authors[i].innerText == "9GAGGER") {
                    let post = authors[i].parentElement.parentElement.parentElement.parentElement;
                    console.log("Removing Post", post.innerText);
                    post.parentElement.removeChild(post);
                }
            } catch (e) {
                console.debug("Skipping post due to error.", e, authors[i]);
            }
        }
    }, 100);
    // Your code here...
})();