您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Enhance YouTube by improving layout, adding shortcuts, customizing controls, and toggling dark mode
// ==UserScript== // @name Enhanced YouTube // @namespace https://discord.gg/rPbnXvFf // @version 1.2 // @description Enhance YouTube by improving layout, adding shortcuts, customizing controls, and toggling dark mode // @author Pixel.pilot // @match https://www.youtube.com/* // @grant none // @license All Rights Reserved // ==/UserScript== (function() { 'use strict'; /** * Function to remove ads from the YouTube page. */ function removeAds() { const adSelectors = ['#player-ads', '.video-ads', '.ytp-ad-module']; adSelectors.forEach(selector => { document.querySelectorAll(selector).forEach(ad => ad.remove()); }); } /** * Function to enhance the layout for both PC and mobile. * - Sets the video player width to 100% on PC. * - Ensures proper viewport settings on mobile. */ function enhanceLayout() { // Wide video player on PC const player = document.getElementById('player-container'); if (player) { player.style.width = '100%'; } // Mobile optimizations const metaViewport = document.querySelector('meta[name="viewport"]') || document.createElement('meta'); metaViewport.name = "viewport"; metaViewport.content = "width=device-width, initial-scale=1"; document.head.appendChild(metaViewport); } /** * Function to customize the video player controls. * - Changes the background color and border radius of the controls. */ function customizeControls() { const controls = document.querySelector('.ytp-chrome-bottom'); if (controls) { controls.style.backgroundColor = 'rgba(0, 0, 0, 0.5)'; controls.style.borderRadius = '10px'; } } /** * Function to toggle dark mode on the page. * - Applies dark mode styling to the page and changes link colors. */ function toggleDarkMode() { const body = document.body; body.classList.toggle('dark-mode'); if (body.classList.contains('dark-mode')) { body.style.backgroundColor = '#181818'; document.querySelectorAll('a').forEach(a => a.style.color = '#1e90ff'); } else { body.style.backgroundColor = ''; document.querySelectorAll('a').forEach(a => a.style.color = ''); } } /** * Function to add keyboard shortcuts for various actions. * - 'f': Toggle fullscreen mode * - 'm': Mute/unmute video * - 'd': Toggle dark mode */ function addShortcuts() { document.addEventListener('keydown', (e) => { switch (e.key) { case 'f': document.querySelector('.ytp-fullscreen-button')?.click(); break; case 'm': document.querySelector('.ytp-mute-button')?.click(); break; case 'd': toggleDarkMode(); break; } }); } /** * Run all enhancements. * Includes ad removal, layout enhancement, control customization, and shortcut addition. */ function runEnhancements() { try { removeAds(); enhanceLayout(); customizeControls(); addShortcuts(); } catch (error) { console.error('Error running enhancements:', error); } } // Wait for the YouTube page to fully load window.addEventListener('load', runEnhancements); // Handle dynamic content load with MutationObserver const observer = new MutationObserver(runEnhancements); observer.observe(document.body, { childList: true, subtree: true }); console.log('Enhanced YouTube script loaded'); })();