YouTube Channel Search Filter

Hide search results from other YouTube channels when searching within a specific channel.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, Greasemonkey alebo Violentmonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, % alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey alebo Userscripts.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie správcu používateľských skriptov.

(Už mám správcu používateľských skriptov, nechajte ma ho nainštalovať!)

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

(Už mám správcu používateľských štýlov, nechajte ma ho nainštalovať!)

// ==UserScript==
// @name         YouTube Channel Search Filter
// @namespace    https://greasyfork.org/en/users/1191564-iamcup
// @version      1.0
// @description  Hide search results from other YouTube channels when searching within a specific channel.
// @author       Tom McGraw
// @match        https://www.youtube.com/*/search?query=*
// @grant        none
// @license MIT
// ==/UserScript==

(function() {
    'use strict';

    // Get the channel name from the URL
    const url = window.location.href;
    const match = url.match(/@([^/]+)\/search/);
    if (!match) return;

    const searchText = match[1];

    // Function to hide elements without the specified text
    function hideElementsWithoutText() {
        const elements = document.querySelectorAll('div#contents ytd-item-section-renderer');

        elements.forEach(element => {
            const text = element.textContent;
            if (!text.includes(searchText)) {
                element.style.display = 'none';
            }
        });
    }

    // Call the function when the page loads and when new content is loaded (e.g., when scrolling)
    window.addEventListener('load', hideElementsWithoutText);
    window.addEventListener('scroll', hideElementsWithoutText);
})();