Greasy Fork

Greasy Fork is available in English.

bilibili关灯

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

当前为 2021-05-22 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         bilibili关灯
// @namespace    hhh2000
// @version      0.2
// @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);
    }
}
function waitForCSS(ifTrue, callback) {
    if (ifTrue()) {
        console.log('true-'+$('.bilibili-player-video-btn-setting-wrap').css('display'));
        callback();
    } else {
        console.log('false-'+$('.bilibili-player-video-btn-setting-wrap').css('display'));
        setTimeout(function() { waitForCSS(ifTrue, 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();
                $('.bilibili-player-video-btn-setting-wrap').css('display', 'none');
                //setTimeout("$('.bilibili-player-video-btn-setting-wrap').css('display', 'none')",500);
                //setTimeout("$('.bilibili-player-video-btn.bilibili-player-video-btn-setting').mouseout()",10);
            }
            if(e.keyCode === 'D'.charCodeAt()){
                //激活关灯class
               // $('.bilibili-player-video-btn.bilibili-player-video-btn-setting').mouseover();
                $('.bilibili-player-video-btn-setting-wrap').css('display', 'none');
            }
            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'));
        });

$('.bilibili-player-video-btn.bilibili-player-video-btn-setting').mouseover();
        //
        //$('#app').focus();
        //console.log($(':focus'));
        //console.log($( document.activeElement ));

    });

    waitForCSS(()=>$('.bilibili-player-video-btn-setting-wrap').css('display') === 'block',
        () => {
        $('.bilibili-player-video-btn-setting-wrap').css('display', 'none');
    });

    waitForNode(() => $('.bilibili-player-video-btn-setting-wrap').css('display'),
        (node) => {
        //console.log($('.bilibili-player-video-btn-setting-wrap').css('display'));
        //console.log(node);
        setTimeout("$('.bilibili-player-video-btn-setting-wrap').css('display', 'none')",300);
    });

})();