BiliAuto

B站快捷键扩展,适合学习类视频.包括自动宽屏 低亮度模式 黑暗模式d 弹幕开关h 2倍速c 减速x 1倍速z

当前为 2021-07-04 提交的版本,查看 最新版本

// ==UserScript==
// @name         BiliAuto
// @version      1.0.0
// @author       mishi321
// @description  B站快捷键扩展,适合学习类视频.包括自动宽屏 低亮度模式 黑暗模式d 弹幕开关h 2倍速c 减速x 1倍速z 
// @match        https://www.bilibili.com/video/*
// @grant        GM_getValue
// @grant        GM_setValue
// @grant        GM_registerMenuCommand
// @grant        GM_unregisterMenuCommand
// @namespace https://gf.qytechs.cn/users/789988
// ==/UserScript==

(function () {
    var speedIndex = 3;
    var lightOn = false, two2one = true;
    var filterOn = GM_getValue('filterOn'), widescreenOn = GM_getValue('widescreenOn');
    GM_registerMenuCommand("自动宽屏(刷新生效):" + widescreenOn, () => GM_setValue('widescreenOn', !widescreenOn));
    var id1 = GM_registerMenuCommand("低亮度模式:" + filterOn, filter);
    const video = document.getElementsByTagName('video')[0];
    const observer = new MutationObserver(() => {
        if (filterOn === true && (two2one = !two2one)) {
            document.getElementsByClassName('bilibili-player-video')[0].style.cssText = "filter:brightness(0.6834);";
        }
    })
    
    filterOn && (document.getElementsByClassName('bilibili-player-video')[0].style.cssText = "filter:brightness(0.6834);") && observer.observe(video, { attributes: true });
    widescreenOn && video.addEventListener('play', () => document.getElementsByClassName('bilibili-player-video-btn-widescreen')[0]?.click(), { once: true });
    document.getElementsByClassName('list-box')[0] && video.addEventListener('ended', () => document.getElementsByClassName('bilibili-player-video-btn-next')[0].click());

    document.body.addEventListener('keypress', function (e) {
        if (e.target.nodeName !== 'BODY') {
            return;
        }
        switch (e.key) {
            case 'c':
                document.getElementsByClassName('bilibili-player-video-btn-speed-menu-list')[speedIndex=0].click();
                break;
            case 'x':
                speedIndex < 5 && ++speedIndex;
                document.getElementsByClassName('bilibili-player-video-btn-speed-menu-list')[speedIndex].click();
                break;
            case 'z':
                document.getElementsByClassName('bilibili-player-video-btn-speed-menu-list')[speedIndex=3].click();
                break;
            case 'd':
                if (lightOn = !lightOn) {
                    document.body.classList.add('player-mode-blackmask');
                    document.getElementById('heimu').style.display = 'block';
                    document.getElementById('bilibiliPlayer').classList.add('mode-light-off');
                }
                else {
                    document.body.classList.remove('player-mode-blackmask');
                    document.getElementById('heimu').style.display = 'none';
                    document.getElementById('bilibiliPlayer').classList.remove('mode-light-off');
                }
                break;
            case 'h':
                document.getElementsByClassName('bilibili-player-video-danmaku-switch')[0].children[0].click();
                break;
            default:
                break;
        }
    });

    window.location.href.includes('note=open') && setTimeout(() => document.getElementsByClassName('iconiconfont_icon_close')[0]?.click(), 5000);

    function filter() {
        if (filterOn = !filterOn) {
            GM_setValue('filterOn', filterOn);
            document.getElementsByClassName('bilibili-player-video')[0].style.cssText = "filter:brightness(0.6834);";
            observer.observe(video, { attributes: true });
        } else {
            GM_setValue('filterOn', filterOn);
            document.getElementsByClassName('bilibili-player-video')[0].style.cssText = "";
        }
        GM_unregisterMenuCommand(id1);
        id1 = GM_registerMenuCommand("低亮度模式:" + filterOn, filter);
    }

})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址