Shift C Toggle Youtube Video Controls

這是為了切換Youtube VidVideo Controls

目前为 2023-01-11 提交的版本。查看 最新版本

// ==UserScript==
// @name         Shift C Toggle Youtube Video Controls
// @name:en         Shift C Toggle Youtube Video Controls
// @name:ja         Shift C Toggle Youtube Video Controls
// @name:zh-TW         Shift C Toggle Youtube Video Controls
// @name:zh-CN         Shift C Toggle Youtube Video Controls
// @name         Shift C Toggle Youtube Video Controls
// @namespace    http://tampermonkey.net/
// @version      0.1.0
// @description  This is to toggle Youtube be Video Controls
// @description:ja  Youtube Video Controls 要素を切り替えるためのものです。
// @description:zh-TW  這是為了切換Youtube Video Controls 元素
// @description:zh-CN  這是為了切換Youtube VidVideo Controls
// @description:en  This is to toggle Youtueo Controls 元素
// @author       CY Fung
// @match        https://www.youtube.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=youtube.com
// @grant        none
// @license      MIT
// ==/UserScript==

/* jshint esversion:6 */
(function() {
    'use strict';

    const allowList = [
        'DIV', 'SPAN', 'BODY', 'HTML', 'VIDEO', 'A',
        'YTD-PLAYER', 'YTD-WATCH-FLEXY', 'YTD-PAGE-MANAGER', 'YTD-MINIPLAYER'
    ];


    document.documentElement.appendChild(document.createElement('style')).textContent=
        `
       html.hide-controls .html5-video-container ~ * {
         visibility: collapse;
         pointer-events: none;
       }
       `

    function pageKeyDownfunction(evt) {
        //passive = false
        //capture = true

        if (evt.code === 'KeyC' && evt.shiftKey) {

            if (!allowList.includes(evt.target.nodeName)) return;

            if(!document.querySelector('html ytd-watch-flexy #movie_player video')) return

            evt.preventDefault();
            evt.stopPropagation();
            evt.stopImmediatePropagation();

            document.documentElement.classList.toggle('hide-controls')

        }
    }

    document.addEventListener('keydown', pageKeyDownfunction, true)

    //ytp-ce-video ytp-ce-top-left-quad ytp-ce-size-853 ytp-ce-element-show

    // Your code here...
})();