BiliBili一键关灯

点击按钮可使视频实现一键关灯模式

// ==UserScript==
// @name         BiliBili一键关灯
// @version      0.1.3
// @description  点击按钮可使视频实现一键关灯模式
// @author       GSK
// @include      *://*.bilibili.com/*
// @ico          https://www.bilibili.com/favicon.ico?v=1
// @grant    GM_setValue
// @grant    GM_getValue
// @license      MIT License
// @namespace https://greasyfork.org/users/1321187
// ==/UserScript==


(function() {

    'use strict';
    // 键盘操作
    document.onkeydown = hotkey;
    function hotkey() {
        // 接收指令
        var a = window.event.keyCode;
        // 判断是否与目标码相同
        // 按键A:视频关灯
        if (a == 65) {
            // 通过标签拿资源
            var inputLight = document.querySelector('[aria-label="关灯模式"]');
            // 元素存在对其进行操作
            inputLight.click();

            // 关灯or开灯
            // document.getElementsByClassName("bui-checkbox-input")[3].click();
        }

        // 按键S:番剧关灯
        //if (a == 83) {
        //    // 关灯or开灯
        //    document.getElementsByClassName("bui-checkbox-input")[1].click();
        //}

        // 按键Z:删除头部
        if (a == 90) {
            // 获取div
            var div = document.getElementsByClassName("bili-header__bar")[0];
            // 删除div
            div.parentNode.removeChild(div);

        }
    }



    //if(event.button == 0){
    //      //通过鼠标左键获取当下所指标签
    //    var clickedElement1 = event.target;
    //}


    // 鼠标操作
    document.onmousedown = function(event) {

        // 通过标签拿到关灯模式资源
        var inputLight = document.querySelector('[aria-label="关灯模式"]');
        // 通过标签拿到收藏模式按钮资源
        var Collect = document.querySelector('[title="收藏(E)"]');
        // 通过标签拿到收藏模式下的关闭按钮资源
        var Close = document.querySelector('[class="close"]');
        // 通过标签拿到收藏模式下的确定按钮资源
        var Enter = document.querySelector('[class="btn submit-move"]');

        // var event = event || window.event//兼容ie低版本的

        // 鼠标侧键4:前进按键(关灯操作,包括开闭)
        if(event.button == 4) {
            // 元素存在对其进行操作
            inputLight.click();
        }

        // 鼠标侧键3:后退按键(快捷键:收藏操作,包括选择性开闭)
        if(event.button == 3) {
            // 判断收藏页面确定按键元素是否存在
            if(Enter === null || Enter === undefined){
                // 确定按钮元素不存在进而判断关闭按钮元素是否存在
                if(Close === null || Close === undefined){
                    // 关闭按钮元素不存在对其进行收藏按钮操作
                    Collect.click();
                }else{
                    // 关闭元素存在对其进行点击操作
                    Close.click();
                }
            }else{
                // 确定按钮元素存在而进行点击确认操作
                Enter.click();
            }


        }

        // 鼠标侧键4:前进按键
        // if(event.button == 4) {
        //     // 获取head-div资源
        //     var div = document.getElementsByClassName("bili-header__bar")[0];
        //     // 判断head-div是否为空或者未定义
        //     // 或条件判断,二者满足其一为true,则为false
        //     if(div === null || div === undefined){
        //         // 满足条件true
        //         //获取当下鼠标点击处标签
        //         var clickedElement = event.target;
        //         //console.log('您当前获得的标签是: ' + clickedElement.tagName);
        //         //删除因点击所获的标签
        //         clickedElement.parentNode.removeChild(clickedElement);
        //     }else{
        //         // 不足条件false
        //         // 直接删除head-div资源
        //         div.parentNode.removeChild(div);
        //     }
        // }

    }

    // Your code here...
})();