Youtube Collapse Sidebar

collapse youtube sidebar

目前為 2023-05-31 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name            Youtube Collapse Sidebar
// @version         0.2
// @description     collapse youtube sidebar
// @author          hdyzen
// @match           https://www.youtube.com/
// @match           https://www.youtube.com/@*
// @icon            https://i.ibb.co/VxF8nPm/8212733.png
// @grant           none
// @license         MIT
// @namespace https://greasyfork.org/users/821661
// ==/UserScript==
(function() {
    "use strict";

    // Função para clicar no elemento alvo
    function clickGuideButton() {
        const guideButton = document.querySelector('#guide-button');
        if (guideButton) {
            guideButton.click();
        }
    }

    // Função para executar o código após o atraso de 5 segundos
    function executeAfterDelay() {
        // Selecionar o elemento alvo pelo ID
        const targetElement = document.getElementById('guide-button');

        // Criar uma função de callback para ser chamada quando o elemento alvo for modificado
        const callback = function(mutationsList, observer) {
            // Verificar se o elemento alvo está presente no DOM
            if (document.contains(targetElement)) {
                clickGuideButton();
                observer.disconnect(); // Parar de observar as mudanças após o clique
            }
        };

        // Criar uma instância do Mutation Observer com a função de callback
        const observer = new MutationObserver(callback);

        // Configurar as opções do Mutation Observer
        const config = {
            childList: true,
            subtree: true
        };

        // Iniciar a observação do elemento alvo com as opções configuradas
        observer.observe(document, config);

        // A partir deste ponto, o Mutation Observer estará ativo e chamará a função de callback quando houver alterações no DOM. Quando o elemento alvo for detectado, a função `clickGuideButton` será chamada. Em seguida, o observador será desconectado para interromper a observação.
    }

    // Adicionar atraso de 5 segundos usando setTimeout antes de executar o código
    setTimeout(executeAfterDelay, 2000); // Delay de 5 segundos (5000 milissegundos)

})();