您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Remove shorts from feeds/searches
// ==UserScript== // @name Hide YouTube Shorts (Mobile Layout) // @version 1.0 // @namespace https://gist.github.com/jyboudreau/6bc00ff8c96aa94e9312595efbf93175 // @description Remove shorts from feeds/searches // @author github.com/jyboudreau // @match https://*.youtube.com/* // @license MIT // @grant none // ==/UserScript== ;(function () { 'use strict' const rootSelector = '.page-container' const shortsReelSearchSelector = 'ytm-search ytm-reel-shelf-renderer' const shortsOverlaySelector = 'ytm-thumbnail-overlay-time-status-renderer[data-style="SHORTS"]' const videoRendererSelector = 'ytm-video-with-context-renderer, ytm-compact-video-renderer' const findShortOverlays = () => Array.from(document.querySelectorAll(shortsOverlaySelector)) const findVideoRenderer = (element) => element.closest(videoRendererSelector) function removeShortsReel() { const reels = document.querySelectorAll(shortsReelSearchSelector) if (reels.length) { reels.forEach((reel) => reel.remove()) console.log(`Removed ${reels.length} shorts`) } } function removeShortsInFeeds() { const renderers = findShortOverlays().map(findVideoRenderer) if (renderers.length) { renderers.forEach((renderer) => renderer.remove()) console.log(`Removed ${renderers.length} shorts from feeds`) } } function removeAllShorts() { removeShortsReel() removeShortsInFeeds() } const observer = new MutationObserver(removeAllShorts) observer.observe(document.querySelector(rootSelector), { childList: true, subtree: true }) })()