B站 C键开关字幕

使用C键快速切换B站视频字幕开关

// ==UserScript==
// @name         B站 C键开关字幕
// @namespace    http://tampermonkey.net/
// @version      0.5
// @description  使用C键快速切换B站视频字幕开关
// @author       Your Name
// @match        https://www.bilibili.com/video/*
// @grant        none
// @license      MIT
// ==/UserScript==

// 立即执行函数,用于封装整个脚本逻辑
(function() {
    'use strict';

    // 定义变量,用于跟踪字幕是否开启
    let subtitlesEnabled = false;

    // 设置按键监听器
    function setupKeyListeners() {
        // 移除之前的按键监听器,防止重复注册
        document.removeEventListener('keydown', setupKeyListeners);

        // 添加新的按键监听器
        document.addEventListener('keydown', function(event) {
            // 检测是否按下了'C'键
            if (event.key === 'c' || event.key === 'C') {
                // 调用切换字幕函数
                toggleSubtitle();
            }
        });
    }

    // 切换字幕状态
    function toggleSubtitle() {
        // 查找字幕按钮
        const subtitleButton = document.querySelector('[aria-label="字幕"] > div > span');

        // 检查是否找到了字幕按钮
        if (subtitleButton) {
            // 切换字幕开启状态
            subtitlesEnabled = !subtitlesEnabled;
            // 模拟点击字幕按钮
            subtitleButton.click();
            // 输出当前状态到控制台
            console.log(`字幕现在${subtitlesEnabled ? '已打开' : '已关闭'}`);
        } else {
            // 如果没有找到字幕按钮,输出警告信息
            console.warn("字幕按钮未找到,可能已被移除或尚未加载完成。");
        }
    }

    // 在页面加载完成后执行初始化函数
    window.onload = function() {
        // 设置按键监听器
        setupKeyListeners();
    };
})();