您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Simplificates the youtube interface for a better user experience
// ==UserScript== // @name YouTube Simplificator // @namespace http://tampermonkey.net/ // @version 0.2 // @description Simplificates the youtube interface for a better user experience // @author Stavros // @match https://www.youtube.com/* // @grant none // @license MIT // ==/UserScript== (function () { 'use strict'; // Function to remove specific elements function removeElements() { const selectors = [ 'button.ytp-button[data-tooltip-target-id="ytp-autonav-toggle-button"]', '.ytp-miniplayer-button', '.ytp-next-button.ytp-button', '.ytp-prev-button.ytp-button', '.yt-spec-touch-feedback-shape', '.yt-spec-touch-feedback-shape--touch-response', '.style-scope.ytd-masthead #guide-button', '.style-scope.ytd-masthead #guide-button yt-icon', '.ytp-fullerscreen-edu-chevron', '.ytp-fullerscreen-edu-button', '.ytp-fullerscreen-edu-button-subtle', '.yt-spec-button-shape-next.yt-spec-button-shape-next--tonal.yt-spec-button-shape-next--mono.yt-spec-button-shape-next--size-s.yt-spec-button-shape-next--icon-leading', '.style-scope.ytd-structured-description-content-renderer', '.yt-spec-button-view-model.style-scope.ytd-menu-renderer', '.ytp-subtitles-button.ytp-button', // Subtitles button 'ytd-expandable-metadata-renderer.style-scope.ytd-watch-flexy' // Added element ]; // Remove general elements from the selectors list selectors.forEach(selector => { document.querySelectorAll(selector).forEach(element => element.remove()); }); // Remove ONLY the channel icon inside the description (but not the one at the top) document.querySelectorAll('#description .style-scope.yt-img-shadow').forEach(element => element.remove()); // Remove the item with ID title inside the description const descriptionTitleElement = document.querySelector('#description #title'); if (descriptionTitleElement) { descriptionTitleElement.remove(); } // Remove the item with ID subtitle inside the description const descriptionSubtitleElement = document.querySelector('#description #subtitle'); if (descriptionSubtitleElement) { descriptionSubtitleElement.remove(); } // Remove the icon with the specified classes in the description document.querySelectorAll('#description .yt-spec-button-shape-next.yt-spec-button-shape-next--outline.yt-spec-button-shape-next--mono.yt-spec-button-shape-next--size-m.yt-spec-button-shape-next--icon-leading').forEach(element => element.remove()); // Completely remove elements with the specific class combination document.querySelectorAll('.yt-core-attributed-string__link.yt-core-attributed-string__link--call-to-action-color.yt-core-attributed-string--link-inherit-color') .forEach(element => element.remove()); } // Observe DOM changes to remove dynamically added elements const observer = new MutationObserver(() => removeElements()); observer.observe(document.body, { childList: true, subtree: true }); // Reinforce removal with an interval setInterval(removeElements, 1000); // Initial cleanup when the window loads window.addEventListener('load', removeElements); })();