Reliable Keys for YouTube Player

Removes the tabindex attribute from the YouTube player's controls, so that left/right keys always perform seeking and up/down keys always perform volume adjustments.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey, Greasemonkey или Violentmonkey.

Для установки этого скрипта вам необходимо установить расширение, такое как Tampermonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Userscripts.

Чтобы установить этот скрипт, сначала вы должны установить расширение браузера, например Tampermonkey.

Чтобы установить этот скрипт, вы должны установить расширение — менеджер скриптов.

(у меня уже есть менеджер скриптов, дайте мне установить скрипт!)

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

(у меня уже есть менеджер стилей, дайте мне установить скрипт!)

// ==UserScript==
// @name         Reliable Keys for YouTube Player
// @namespace    https://youtube.com/
// @version      1.0
// @description  Removes the tabindex attribute from the YouTube player's controls, so that left/right keys always perform seeking and up/down keys always perform volume adjustments.
// @author       timtimtimaroo
// @match        *://www.youtube.com/*
// @grant        none
// @license      copyright
// ==/UserScript==

(function() {
    'use strict';

    function removeTabindex() {
        ['.ytp-progress-bar', '.ytp-volume-panel'].flatMap(s => [...document.querySelectorAll(s)]).forEach(panel => {
            if (panel.hasAttribute('tabindex')) {
                panel.removeAttribute('tabindex');
                console.log("[Reliable Keys for YouTube Player] Removed tabindex from:", panel);
            }
        });
    }

    // Run once on load
    removeTabindex();

    // Observe for changes in the page (useful for SPA behavior)
    const observer = new MutationObserver(removeTabindex);
    observer.observe(document.body, { childList: true, subtree: true });

})();