Hide Members-Only Videos on Youtube

Hides videos marked "Members-Only" from main landing page.

当前为 2025-05-29 提交的版本,查看 最新版本

// ==UserScript==
// @name             Hide Members-Only Videos on Youtube
// @namespace        https://greasyfork.org/en/users/4612-gdorn
// @version          1.2
// @description      Hides videos marked "Members-Only" from main landing page.
// @author           GDorn
// @match            https://www.youtube.com/*
// @grant            none
// @license          GPL-3.0
// ==/UserScript==

(function() {
    'use strict';

    function hideMembersOnlyElements() {
        console.log("Running hideMembersOnlyElements()");
        const membersOnlyItems = document.querySelectorAll("div#content.ytd-rich-item-renderer:not([style='display:none'])");
        membersOnlyItems.forEach(item => {
            if (item.textContent.includes('Members only') || item.textContent.includes('Members first')) {
                item.style.display = 'none';
                console.log("Hid item:", item);
                item.remove();
            }
        });
    }

    function runWhenReady() {
        if (document.readyState === 'complete' || document.readyState === 'interactive') {
            hideMembersOnlyElements();
            const observer = new MutationObserver(hideMembersOnlyElements);
            observer.observe(document.body, { childList: true, subtree: true });
            let attemptCount = 0;
            const maxAttempts = 60;
            const intervalCheck = setInterval(() => {
                if (attemptCount >= maxAttempts) {
                    clearInterval(intervalCheck);
                    return;
                }
                hideMembersOnlyElements();
                attemptCount++;
            }, 1000);
        } else {
            setTimeout(runWhenReady, 500);
        }
    }

    runWhenReady();
})();