您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
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(); } } }); });