This is the script that tweaks other UI elements (that also includes removal of 'Shorts' and 'AI nonsense', along with reverting UI features prior to 2022)
当前为
// ==UserScript==
// @name YT - Other UI Tweaks + both Shorts and AI removal included
// @version 2025.11.11
// @description This is the script that tweaks other UI elements (that also includes removal of 'Shorts' and 'AI nonsense', along with reverting UI features prior to 2022)
// @author Joey_JTS
// @license MIT
// @match *://www.youtube.com/*
// @match *://m.youtube.com/*
// @match *://www.youtube-nocookie.com/*
// @exclude *://www.youtube.com/live_chat*
// @namespace https://greasyfork.org/en/users/761382
// @icon https://www.youtube.com/favicon.ico
// @unwrap
// @run-at document-idle
// @unwrap
// @grant none
// ==/UserScript==
// Apply (most) of the CSS tweaks
(function() {
let css = `
/* Hide all shorts, irrelevant search results and AI crap */
.ytGridShelfViewModelHost, .ytd-search ytd-shelf-renderer, ytd-reel-shelf-renderer, ytd-rich-section-renderer, #related ytd-compact-video-renderer:has(a[href^="/shorts"]), ytm-rich-shelf-renderer, ytm-search ytm-shelf-renderer, ytm-reel-shelf-renderer, ytm-rich-section-renderer, ytm-pivot-bar-item-renderer:has(> .pivot-shorts) { display: none !important
}
.style-scope[page-subtype='channels'] ytd-shelf-renderer, .style-scope[page-subtype='channels'] ytm-shelf-renderer { display: block !important }
[is-search] ytd-shelf-renderer.ytd-item-section-renderer:not(ytd-channel-renderer + ytd-shelf-renderer), [is-search] ytd-horizontal-card-list-renderer.ytd-item-section-renderer:not(:first-child), [is-search] ytd-exploratory-results-renderer.ytd-item-section-renderer { display: none !important }
#expandable-metadata.ytd-video-renderer, #expandable-metadata.ytd-watch-flexy { display: none !important }
ytd-expandable-metadata-renderer[has-video-summary] { display: none !important }
/* #flexible-item-buttons button[aria-label^="Ask" i], ytd-menu-renderer button[aria-label^="Ask" i] { display: none !important } */
/* Disable giant thumbnails on search results */
ytd-two-column-search-results-renderer[use-bigger-thumbs][bigger-thumbs-style=BIG] #primary.ytd-two-column-search-results-renderer, ytd-search[has-search-header][has-bigger-thumbs] #header.ytd-search { max-width: 1096px !important }
ytd-channel-renderer[use-bigger-thumbs][bigger-thumb-style=BIG] #avatar-section.ytd-channel-renderer, ytd-channel-renderer[use-bigger-thumbs] #avatar-section.ytd-channel-renderer, ytd-video-renderer[use-bigger-thumbs][bigger-thumbs-style=BIG] ytd-thumbnail.ytd-video-renderer, ytd-video-renderer[use-search-ui] ytd-thumbnail.ytd-video-renderer, ytd-playlist-renderer[use-bigger-thumbs][bigger-thumbs-style=BIG] ytd-playlist-thumbnail.ytd-playlist-renderer, ytd-playlist-renderer[use-bigger-thumbs] ytd-playlist-thumbnail.ytd-playlist-renderer, ytd-radio-renderer[use-bigger-thumbs][bigger-thumbs-style=BIG] ytd-thumbnail.ytd-radio-renderer, ytd-radio-renderer[use-bigger-thumbs] ytd-thumbnail.ytd-radio-renderer, ytd-radio-renderer[use-bigger-thumbs][bigger-thumbs-style=BIG] ytd-thumbnail.ytd-radio-renderer, ytd-radio-renderer[use-bigger-thumbs][bigger-thumbs-style=BIG] ytd-playlist-thumbnail.ytd-radio-renderer, ytd-movie-renderer[use-bigger-thumbs][bigger-thumbs-style=BIG] .thumbnail-container.ytd-movie-renderer, ytd-movie-renderer[use-bigger-thumbs] .thumbnail-container.ytd-movie-renderer, ytd-promoted-video-renderer[use-bigger-thumbs][bigger-thumbs-style=BIG] ytd-thumbnail.ytd-promoted-video-renderer, ytd-promoted-sparkles-web-renderer[web-search-layout][use-bigger-thumbs][bigger-thumbs-style=BIG] #thumbnail-container.ytd-promoted-sparkles-web-renderer, ytd-text-image-no-button-layout-renderer[use-bigger-thumbs][bigger-thumbs-style=BIG] #text-image-container.ytd-text-image-no-button-layout-renderer, .yt-lockup-view-model-wiz--horizontal .yt-lockup-view-model-wiz__content-image, .yt-lockup-view-model--horizontal .yt-lockup-view-model__content-image { max-width: 360px !important }
/* Remove most guide-entry-renderer elements (exclusive to UI changes before late 2022, except for playables) */
ytd-guide-entry-renderer[title="Shorts"], ytd-mini-guide-entry-renderer[title="Shorts"], ytd-guide-entry-renderer > a[href*="/podcasts"], ytd-guide-entry-renderer > a[href*="/channel/UCkYQyvc_i9hXEo4xic9Hh2g"], ytd-guide-entry-renderer > a[href*="/feed/podcasts"], ytd-guide-entry-renderer > a[href*="/feed/courses_destination"], ytd-guide-entry-renderer > a[href*="/feed/trending"] {
display: none !important
}`;
if (typeof GM_addStyle !== "undefined") {
GM_addStyle(css);
} else {
let styleNode = document.createElement("style");
styleNode.appendChild(document.createTextNode(css));
(document.querySelector("head") || document.documentElement).appendChild(styleNode);
}
})();
// Re-add 'Explore' tab from both normal and mini sidebar panels (Note: YT has killed the trending page since July 2025, but the button still exists lol)
function waitForElm(selector) {
return new Promise(resolve => {
if (document.querySelector(selector)) {
return resolve(document.querySelector(selector));
}
const observer = new MutationObserver(mutations => {
if (document.querySelector(selector)) {
resolve(document.querySelector(selector));
observer.disconnect();
}
});
observer.observe(document.body, {
childList: true,
subtree: true
});
});
}
function restoreTrending() {
var trendingData = {
"navigationEndpoint": {
"clickTrackingParams": "CBwQtSwYASITCNqYh-qO_fACFcoRrQYdP44D9Q==",
"commandMetadata": {
"webCommandMetadata": {
"url": "/feed/explore",
"webPageType": "WEB_PAGE_TYPE_BROWSE",
"rootVe": 6827,
"apiUrl": "/youtubei/v1/browse"
}
},
"browseEndpoint": {
"browseId": "FEtrending"
}
},
"icon": {
"iconType": "EXPLORE"
},
"trackingParams": "CBwQtSwYASITCNqYh-qO_fACFcoRrQYdP44D9Q==",
"formattedTitle": {
"simpleText": "Explore"
},
"accessibility": {
"accessibilityData": {
"label": "Explore"
}
},
"isPrimary": true
};
var guidetemplate = `<ytd-guide-entry-renderer class="style-scope ytd-guide-section-renderer" is-primary="" line-end-style="none"><!--css-build:shady--><a id="endpoint" class="yt-simple-endpoint style-scope ytd-guide-entry-renderer" tabindex="-1" role="tablist"><tp-yt-paper-item role="tab" class="style-scope ytd-guide-entry-renderer" tabindex="0" aria-disabled="false"><!--css-build:shady--><yt-icon class="guide-icon style-scope ytd-guide-entry-renderer" disable-upgrade=""></yt-icon><yt-img-shadow height="24" width="24" class="style-scope ytd-guide-entry-renderer" disable-upgrade=""></yt-img-shadow><yt-formatted-string class="title style-scope ytd-guide-entry-renderer"><!--css-build:shady--></yt-formatted-string><span class="guide-entry-count style-scope ytd-guide-entry-renderer"></span><yt-icon class="guide-entry-badge style-scope ytd-guide-entry-renderer" disable-upgrade=""></yt-icon><div id="newness-dot" class="style-scope ytd-guide-entry-renderer"></div></tp-yt-paper-item></a><yt-interaction class="style-scope ytd-guide-entry-renderer"><!--css-build:shady--><div class="stroke style-scope yt-interaction"></div><div class="fill style-scope yt-interaction"></div></yt-interaction></ytd-guide-entry-renderer>`;
document.querySelector(`#items > ytd-guide-entry-renderer:nth-child(2)`).data = trendingData;
var miniguidetemplate = `<ytd-mini-guide-entry-renderer class="style-scope ytd-mini-guide-section-renderer" is-primary="" line-end-style="none"><!--css-build:shady--><a id="endpoint" class="yt-simple-endpoint style-scope ytd-guide-entry-renderer" tabindex="-1" role="tablist"><tp-yt-paper-item role="tab" class="style-scope ytd-guide-entry-renderer" tabindex="0" aria-disabled="false"><!--css-build:shady--><yt-icon class="guide-icon style-scope ytd-guide-entry-renderer" disable-upgrade=""></yt-icon><yt-img-shadow height="24" width="24" class="style-scope ytd-guide-entry-renderer" disable-upgrade=""></yt-img-shadow><yt-formatted-string class="title style-scope ytd-guide-entry-renderer"><!--css-build:shady--></yt-formatted-string><span class="guide-entry-count style-scope ytd-guide-entry-renderer"></span><yt-icon class="guide-entry-badge style-scope ytd-guide-entry-renderer" disable-upgrade=""></yt-icon><div id="newness-dot" class="style-scope ytd-guide-entry-renderer"></div></tp-yt-paper-item></a><yt-interaction class="style-scope ytd-guide-entry-renderer"><!--css-build:shady--><div class="stroke style-scope yt-interaction"></div><div class="fill style-scope yt-interaction"></div></yt-interaction></ytd-guide-entry-renderer>`;
document.querySelector(`#items > ytd-mini-guide-entry-renderer:nth-child(2)`).data = trendingData;
}
waitForElm("#items.ytd-guide-section-renderer").then((elm) => {
restoreTrending();
});
waitForElm("#items.ytd-mini-guide-section-renderer").then((elm) => {
restoreTrending();
});
// Preventing the 'automatic dubbing' feature on videos
/*jshint esversion: 11 */
(function () {
'use strict';
function main(event) {
try {
const playingLanguage = event.detail.video.playingLanguage;
const originalLanguage = event.detail.video.originalLanguage;
const isAutoDubbed = playingLanguage !== originalLanguage && `${playingLanguage}` !== 'Default';
if (!isAutoDubbed) return;
if (!originalLanguage) throw new Error('Unable to determine the original audio track.');
console.log('Auto-dub detected, trying to undo...');
window.youtubeHelperApi.player.playerObject.setAudioTrack(originalLanguage);
console.log(`Auto-dub undo successful. Audio track reverted from ${playingLanguage} to ${originalLanguage}.`);
} catch (error) {
console.warn('Failed to prevent YouTube auto-dubbing.', error);
}
}
window.youtubeHelperApi.eventTarget.addEventListener('yt-helper-api-ready', main);
})();