Greasy Fork

Greasy Fork is available in English.

bilibili关灯

bilibili关灯(把被新版B站藏起来的关灯按钮揪出来,在关闭弹幕按钮左边,还可以用快捷键,默认'a')

目前为 2021-05-22 提交的版本。查看 最新版本

// ==UserScript==
// @name         bilibili关灯
// @namespace    hhh2000
// @version      0.1
// @description  bilibili关灯(把被新版B站藏起来的关灯按钮揪出来,在关闭弹幕按钮左边,还可以用快捷键,默认'a')
// @author       hhh2000
// @include      *://*.bilibili.com/video/*
// @include      *://*.bilibili.tv/video/*
// @include      *://*.bilibili.com/bangumi/*
// @include      *://*.bilibili.tv/bangumi/*
// @require      https://cdn.staticfile.org/jquery/1.12.4/jquery.min.js
// @run-at       document-start
// @grant        none
// ==/UserScript==

function waitForNode(nodeSelector, callback) {
    var node = nodeSelector();
    if (node) {
        callback(node);
    } else {
        setTimeout(function() { waitForNode(nodeSelector, callback); }, 100);
    }
}
//<div class="bilibili-player-context-menu-container black bilibili-player-context-menu-origin active" style="top: 190px; left: 371px;"><ul><li class="context-line context-menu-function" data-append="1"><a class="context-menu-a js-action" title="" data-id="bp_cm_19" href="javascript:void(0);" data-disabled="0">视频色彩调整</a></li><li class="context-line context-menu-function" data-append="1"><a class="context-menu-a js-action" title="" data-id="bp_cm_18" href="javascript:void(0);" data-disabled="0">视频音效调节</a></li><li class="context-line context-menu-function" data-append="1"><a class="context-menu-a js-action" title="" data-id="bp_cm_17" href="javascript:void(0);" data-disabled="0">快捷键说明</a></li><li class="context-line context-menu-function" data-append="1"><a class="context-menu-a js-action" title="" data-id="bp_cm_16" href="//www.bilibili.com/blackboard/webplayer_history.html#html5" data-disabled="0" target="_blank">更新历史 2.57.4-rc.7430.0-d8413676</a></li><li class="context-line context-menu-function" data-append="1"><a class="context-menu-a js-action" title="" data-id="bp_cm_15" href="javascript:void(0);" data-disabled="0">视频统计信息</a></li></ul></div>
(function() {
    waitForNode(() => document.querySelector('.bui-switch-body'),
        (node) => {
        //document.querySelector('.bilibili-player-video-quality-menu').mouseover().mouseout();
        //document.querySelector('.bilibili-player-video-danmaku-switch input').mouseover().mouseout();

        //插入按钮
        $("div.bilibili-player-video-danmaku-switch:first").clone().prependTo("div.bilibili-player-video-danmaku-root:first");
        $('span.bui-switch-body>.bui-switch-dot:first>span').remove();
        $('span.bui-switch-body>.bui-switch-dot:first')[0].innerHTML ='灯';

        //点击关灯
        $('div.bilibili-player-video-danmaku-switch:first').click(function(){
            $('.bilibili-player-video-btn-setting-right-others-content-lightoff>input').click();
        });

        //键盘关灯
        $(document).on('keydown',function(e){
            if(e.keyCode === 'A'.charCodeAt())
                $('div.bilibili-player-video-danmaku-switch:first').click();
            //$('#app').click();
            if(e.keyCode === 'B'.charCodeAt()){
                $('.bilibili-player-dm-tip-wrap').focus();
                $('body').blur();
                $('.bilibili-player-video-btn.bilibili-player-video-btn-pip').mouseover().setTimeout(mouseout(), 1000);

            }
            if(e.keyCode === 'C'.charCodeAt()){
             /*   mouseenter 鼠标移入元素上方
mouseover 鼠标在元素上方
mousemove 鼠标在元素上方且移动。
mouseout 鼠标出了元素边界
mouseleave 鼠标完全离开元素*/
                $('.bilibili-player-video-btn.bilibili-player-video-btn-setting').mouseenter().mouseover().mousemove();
                //setTimeout($('.bilibili-player-video-btn.bilibili-player-video-btn-setting').mouseout(),1000);
            }
            if(e.keyCode === 'D'.charCodeAt()){
                //激活关灯class
                $('.bilibili-player-video-btn.bilibili-player-video-btn-setting').mouseover();
            }
            if(e.keyCode === 'E'.charCodeAt()){
                //激活关灯class
                $('.bilibili-player-video-btn.bilibili-player-video-btn-setting').mouseout();
            }

                //console.log($('.bilibili-player-hotkey-panel-container'));
            //console.log($('#bilibiliPlayer'));
        });


        //
        //$('#app').focus();
        //console.log($(':focus'));
        //console.log($( document.activeElement ));

    });

    waitForNode(() => document.querySelector('.float-nav'),
        (node) => {
        //console.log(1)
        $('#app').click();

    });
})();