您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Add more buttons in compact sidebar/mini guide
- // ==UserScript==
- // @name Youtube compact sidebar+
- // @name:pt-BR Youtube barra lateral+
- // @namespace https://gf.qytechs.cn/users/821661
- // @match https://www.youtube.com/*
- // @grant GM_xmlhttpRequest
- // @grant GM_registerMenuCommand
- // @grant GM_setValue
- // @grant GM_getValue
- // @grant GM_addStyle
- // @grant GM_addStyle
- // @run-at document-body
- // @version 0.4
- // @author hdyzen
- // @description Add more buttons in compact sidebar/mini guide
- // @description:pt-BR Adiciona mais botões a barra lateral
- // @license GPL-3.0
- // ==/UserScript==
- 'use strict';
- // Labels
- const labels = {
- home: 'Home',
- shorts: 'Shorts',
- subscriptions: 'Subscriptions',
- you: 'You',
- yourChannel: 'Channel',
- history: 'History',
- playlists: 'Playlists',
- yourVideos: 'Videos',
- watchLater: 'Later',
- liked: 'Liked',
- download: 'Download',
- };
- // Render commands menu
- function renderMenuCommands() {
- Object.entries(labels).forEach(([key, label]) => {
- const state = getStates(key);
- displayItems(key, state);
- GM_registerMenuCommand(`${state ? '✅' : '❌'} ${label}`, e => stateToggle(key, state), { id: key, autoClose: false });
- });
- }
- renderMenuCommands();
- // States toggle
- function stateToggle(key, state) {
- const statesNew = getStates();
- statesNew[key] = !state;
- GM_setValue('states', statesNew);
- renderMenuCommands();
- }
- // Display items
- function displayItems(key, state) {
- const body = document.body;
- if (!state) {
- body.classList.add(key);
- } else {
- body.classList.remove(key);
- }
- }
- // Get states
- function getStates(key) {
- const states = GM_getValue('states');
- const statesDefault = {
- home: true,
- shorts: true,
- subscriptions: true,
- you: true,
- yourChannel: true,
- history: true,
- playlists: true,
- yourVideos: true,
- watchLater: true,
- liked: true,
- download: true,
- };
- if (key) return states?.[key] !== undefined ? states[key] : statesDefault[key];
- else return statesDefault;
- }
- // Patch JSON.parse
- const originalParse = JSON.parse;
- JSON.parse = function (text) {
- const result = originalParse(text);
- const item = result?.items?.[0]?.guideSectionRenderer?.items?.[3]?.guideCollapsibleSectionEntryRenderer?.sectionItems;
- if (item) {
- item.forEach(item => {
- if (item.guideEntryRenderer) item.guideEntryRenderer.isPrimary = true;
- if (item.guideDownloadsEntryRenderer) item.guideDownloadsEntryRenderer.alwaysShow = true;
- });
- }
- return result;
- };
- // Styles
- GM_addStyle(`
- ytd-mini-guide-renderer.ytd-app {
- overflow: auto;
- }
- .home ytd-mini-guide-entry-renderer:has(> a[href="/"]) {
- display: none !important;
- }
- .shorts ytd-mini-guide-entry-renderer:has(> a[title="Shorts"]) {
- display: none !important;
- }
- .subscriptions ytd-mini-guide-entry-renderer:has(> a[href="/feed/subscriptions"]) {
- display: none !important;
- }
- .you ytd-mini-guide-entry-renderer:has(> a[href="/feed/you"]) {
- display: none !important;
- }
- .yourChannel ytd-mini-guide-entry-renderer:has(> a[href^="/channel/"]) {
- display: none !important;
- }
- .history ytd-mini-guide-entry-renderer:has(> a[href="/feed/history"]) {
- display: none !important;
- }
- .playlists ytd-mini-guide-entry-renderer:has(> a[href="/feed/playlists"]) {
- display: none !important;
- }
- .yourVideos ytd-mini-guide-entry-renderer:has(> a[href^="https://studio.youtube.com/"]) {
- display: none !important;
- }
- .watchLater ytd-mini-guide-entry-renderer:has(> a[href="/playlist?list=WL"]) {
- display: none !important;
- }
- .liked ytd-mini-guide-entry-renderer:has(> a[href="/playlist?list=LL"]) {
- display: none !important;
- }
- .download ytd-mini-guide-entry-renderer:has(> a[href="/feed/downloads"]) {
- display: none !important;
- }
- `);
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址