您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
YouTubeにて再生回数が少ない動画を非表示にします。
当前为
// ==UserScript== // @name 低視聴回数動画の非表示 // @namespace http://tampermonkey.net/ // @description YouTubeにて再生回数が少ない動画を非表示にします。 // @author sun // @match *://*.youtube.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=youtube.com // @grant none // @version 1.2 // ==/UserScript== const VIEW_THRESHOLD = 180000; // ここを変更して視聴回数のしきい値を設定 function parseViewCount(text) { let numText = text.replace(/[^0-9\.KM万億]/g, ""); const multipliers = { "K": 1000, "M": 1000000, "万": 10000, "億": 100000000 }; let multiplier = Object.keys(multipliers).find(unit => numText.includes(unit)) || ""; numText = numText.replace(multiplier, ""); return numText ? parseFloat(numText) * (multipliers[multiplier] || 1) : 0; } function IsBadVideo(videoViews) { if (!videoViews) { return false; } let text = videoViews.innerText; let viewCount = parseViewCount(text); return viewCount > 0 && viewCount < VIEW_THRESHOLD; } function HideBadVideo(videoElement) { if (!videoElement) return; let videoViews = videoElement.querySelector(".inline-metadata-item.style-scope.ytd-video-meta-block"); if (IsBadVideo(videoViews)) { videoElement.style.display = "none"; } } const observer = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { HideBadVideo(entry.target); observer.unobserve(entry.target); } }); }, { rootMargin: "300px" }); function Update() { let videos = document.querySelectorAll("ytd-rich-item-renderer, ytd-compact-video-renderer"); videos.forEach(video => { HideBadVideo(video); observer.observe(video); }); } window.addEventListener("load", () => { Update(); // YouTubeのSPA遷移を検知してUpdate()を実行 const checkNavigation = () => { let ytApp = document.querySelector("ytd-app"); if (ytApp) { ytApp.addEventListener("yt-navigate-finish", () => { setTimeout(Update, 500); }); } }; checkNavigation(); const mutationObserver = new MutationObserver((mutations) => { mutations.forEach((mutation) => { mutation.addedNodes.forEach((node) => { if (node.nodeType === 1) { if (node.matches("ytd-rich-item-renderer, ytd-compact-video-renderer")) { observer.observe(node); } else { let newVideos = node.querySelectorAll?.("ytd-rich-item-renderer, ytd-compact-video-renderer"); newVideos.forEach(video => observer.observe(video)); } } }); }); }); mutationObserver.observe(document.body, { childList: true, subtree: true }); });
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址