Removes the "CLIP", "THANKS", and "DOWNLOAD" buttons from the Watch page
目前為
// ==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();
}
}
});
});