您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Modify YouTube's UI to look like older versions, similar to Rehike
// ==UserScript== // @name Rehike for YouTube (Userscript) // @namespace https://gf.zukizuki.org/en/users/your-username // @version 1.1 // @description Modify YouTube's UI to look like older versions, similar to Rehike // @author Your Name // @match *://www.youtube.com/* // @icon https://www.youtube.com/favicon.ico // @grant GM_addStyle // @run-at document-start // ==/UserScript== (function() { 'use strict'; console.log("[Rehike Userscript] Loaded."); // Apply UI modifications function modifyYouTubeUI() { GM_addStyle(` #masthead-container { background-color: #222 !important; } ytd-searchbox { background-color: #333 !important; } ytd-app { background-color: #181818 !important; } /* Hide Shorts Section */ ytd-rich-section-renderer { display: none !important; } `); } // Intercept API Calls via Fetch API function interceptFetch() { const originalFetch = window.fetch; window.fetch = async function(resource, init) { let response = await originalFetch(resource, init); if (typeof resource === "string" && resource.includes("browse")) { try { let clone = response.clone(); let json = await clone.json(); // Remove Shorts from Homepage if (json.contents?.twoColumnBrowseResultsRenderer) { json.contents.twoColumnBrowseResultsRenderer.tabs = json.contents.twoColumnBrowseResultsRenderer.tabs.filter(tab => !tab?.tabRenderer?.content?.sectionListRenderer?.contents?.some( sec => sec?.richSectionRenderer?.content?.shelfRenderer?.title?.simpleText === "Shorts" ) ); } let modifiedResponse = new Response(JSON.stringify(json), { status: response.status, statusText: response.statusText, headers: response.headers }); return modifiedResponse; } catch (e) { console.error("[Rehike Userscript] Fetch Intercept Error:", e); } } return response; }; } // Run modifications function init() { modifyYouTubeUI(); interceptFetch(); } // Ensure script runs after YouTube loads let observer = new MutationObserver((mutations, obs) => { if (document.querySelector("ytd-app")) { obs.disconnect(); init(); } }); observer.observe(document, { childList: true, subtree: true }); })();