Greasy Fork

Greasy Fork is available in English.

BiliBili一键关灯

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

当前为 2024-06-24 提交的版本,查看 最新版本

// ==UserScript==
// @name         BiliBili一键关灯
// @version      0.0.9
// @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 http://greasyfork.icu/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("fixed-header")[0];
            // 删除div
            div.parentNode.removeChild(div);

        }
    }

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

        // 通过标签拿到关灯模式资源
        var inputLight = document.querySelector('[aria-label="关灯模式"]');
        // var event = event || window.event//兼容ie低版本的
        // 鼠标侧键3:后退按键
        if(event.button == 3) {
            // 元素存在对其进行操作
            inputLight.click();
        }

        // 鼠标侧键4:前进按键
        if(event.button == 4) {
            // 获取head-div资源
            var div = document.getElementsByClassName("fixed-header")[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...
})();