[BETA] Remove Clip, Thanks, and Download

Removes the "CLIP", "THANKS", and "DOWNLOAD" buttons from the Watch page

目前为 2022-06-29 提交的版本。查看 最新版本

// ==UserScript==
// @name         [BETA] Remove Clip, Thanks, and Download
// @namespace    aubymori
// @version      b1.0
// @description  Removes the "CLIP", "THANKS", and "DOWNLOAD" buttons from the Watch page
// @author       You
// @match        www.youtube.com/*
// @icon         https://www.youtube.com/favicon.ico
// @grant        none
// @license      MIT
// @run-at       document-start
// ==/UserScript==

// why use this? well there is no other way to properly select the button other than the text...
const rcti18n = {
    en: {
        clip: "Clip",
        thanks: "Thanks"
    },
    es: {
        clip: "Clip",
        thanks: "Thanks"
    },
    ja: {
        clip: "クリップ",
        thanks: "Thanks"
    },
    zh: {
        clip: "剪辑",
        thanks: "感谢"
    },
    pt: {
        clip: "Clipe",
        thanks: "Valeu"
    },
    ko: {
        clip: "클립",
        thanks: "Thanks"
    },
    hi: {
        clip: "क्लिप",
        thanks: "Thanks"
    }
};

const rctStyle = document.createElement("style");
rctStyle.innerHTML = `
    ytd-download-button-renderer {
        display: none !important;
    }
`;
document.getElementsByTagName("head")[0].appendChild(rctStyle);

async function waitForElm(q) {
    while (document.querySelector(q) == null) {
        await new Promise(r => requestAnimationFrame(r));
    };
    return document.querySelector(q);
};

document.addEventListener("yt-page-data-updated", () => {
    waitForElm("#top-level-buttons-computed.ytd-menu-renderer").then((btns) => {
        var abList = btns.querySelectorAll("ytd-button-renderer");

        for(i = 0; i < abList.length; i++) {
            var label = abList[i].querySelector("#text").innerText;

            if (rcti18n[yt.config_.HL].clip == label || rcti18n[yt.config_.HL].thanks == label) {
                abList[i].remove();
            }
        }
    });
});