YouTube focus player

YouTube focus player when an arrow key is pressed(exclude"textarea")

目前为 2025-02-21 提交的版本。查看 最新版本

// ==UserScript==
// @name         YouTube focus player
// @name:ZH      YT永遠聚焦在播放器
// @namespace    https://greasyfork.org/zh-TW/users/4839
// @version      1.0
// @description  YouTube focus player when an arrow key is pressed(exclude"textarea")
// @description:zh  上下鍵強制聚焦在播放器(文字輸入區除外)
// @author       merkantilizm,duola
// @license MIT
// @match        https://www.youtube.com/*
// @icon         https://www.youtube.com/favicon.ico
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // Define video element
    var video;
    var formElement = { 'input':true, 'button':true, 'select':true, 'textarea':true };

    // Add event listener for keydown
    window.addEventListener('keydown', function(e) {
        // Check if arrow keys are pressed
            if (e.metaKey || e.ctrlKey || e.altKey ||
                formElement[e.target.tagName.toLowerCase()] || e.target.isContentEditable || document.designMode ==="on") {
                return; }

        if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {

            // Get video element (has to be done inside of the function or it doesnt work for some reason)
            video = document.querySelector('video');

            // Prevent default action of arrow keys (e.g., scrolling the page)
            e.preventDefault();
            // Focus the video player
            video.focus();
        }
    });
})();