Greasy Fork 支持简体中文。

Youtube Control Hider

Removes the controls bar that appears upon pause when the h button is pressed.

// ==UserScript==
// @name         Youtube Control Hider
// @namespace    http://tampermonkey.net/
// @version      0.18
// @description  Removes the controls bar that appears upon pause when the h button is pressed.
// @author       Kaanium
// @match        https://www.youtube.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=youtube.com
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    var elementsHidden = false;
    var _top, top_grad, _bottom, bottom_grad, brand_image, _shorts;


    function checkElements() {
        if (document.URL.includes('live_chat_replay')) {
            return;
        }
        addKeyListener();
    }

    function isYouTubeShortsLink() {
        const shortsRegex = /youtube\.com\/shorts\//i;
        return shortsRegex.test(window.location.href);
    }

    function getElements() {
        _top = document.querySelector(".ytp-chrome-top");
        top_grad = document.querySelector(".ytp-gradient-top");
        _bottom = document.querySelector(".ytp-chrome-bottom");
        bottom_grad = document.querySelector(".ytp-gradient-bottom");
        brand_image = document.querySelector(".branding-img");
        _shorts = document.querySelectorAll("ytd-reel-player-header-renderer");
    }

    function addKeyListener() {
        document.addEventListener('keydown', function(event) {
            if (event.key === "h" || event.key === "H") {
                if (elementsHidden) {
                    showElements();
                } else {
                    hideElements();
                }
                elementsHidden = !elementsHidden;
            }
        });
    }

    function updateElements(string) {
        getElements();
        _top.style.visibility = string;
        top_grad.style.visibility = string;
        _bottom.style.visibility = string;
        bottom_grad.style.visibility = string;
        if(brand_image) {
            brand_image.style.visibility = string;
        }
        for (var i = 0; i < _shorts.length; ++i) {
            _shorts[i].style.visibility = string;
        }
    }

    function hideElements() {
        updateElements('hidden');
    }

    function showElements() {
        updateElements('visible');
    }

    function waitForLink(callback) {
        if ((window.location.pathname === "/watch" || isYouTubeShortsLink()) && document.readyState === "complete") {
                callback();
        } else {
            setTimeout(function() {
                waitForLink(callback);
            }, 50);
        }
    }

    waitForLink(checkElements);

})();