// ==UserScript== // @name 哔哩哔哩快捷键工具 // @namespace http://tampermonkey.net/ // @version 1.1.beta // @description 快捷打开关闭哔哩哔哩弹幕 快捷键 [c],以及自动跳过充电页面,自动播放下一个视频。默认关闭弹幕使用了cngege作者的哔哩哔哩bilibili默认关闭弹幕作品 // @author maple // @match *://*.bilibili.com/video/* // @match *://*.bilibili.com/watchlater/* // @match *://*.bilibili.com/bangumi/play/* // @match *://www.bilibili.com/blackboard/newplayer.html* // @icon https://www.bilibili.com/favicon.ico // @require https://cdn.bootcss.com/jquery/3.5.0/jquery.min.js // @grant none // @downloadURL none // ==/UserScript== function inner(span,status){ let innerHtml = "\n" + "\n" + " "+status+"" span.innerHTML = innerHtml; } //延时函数 function sleep (time) { return new Promise((resolve) => setTimeout(resolve, time)); } //弹幕状态默认为Off let status = "弹幕:Off" //标志位 let flag = true; //显示提示 function show(){ //添加span到body中 let body = document.querySelector("body") let span = document.createElement("span"); if (flag){ status = "弹幕:On" } inner(span,status) body.appendChild(span); //取反 flag=!flag; status = "弹幕:Off" sleep(800).then(() => { body.removeChild(span) }) } //默认关闭弹幕 let geturl = ()=>{return window.location.href;} function defaultBarrage(){ let url = geturl(); let isgo = true; //本页面是否判断barrage开关状态 并作出响应 let Const = 0; //记录一个页面中已循环次数,超过三十次则本页面不再循环判断是否关闭barrage let DebugLog = false; //go(); let go = ()=> { Const++; let barrage = $(".bilibili-player-video-danmaku-switch .bui-switch-dot"); //判断barrage开关是否是打开的 并关闭 //if(DebugLog){console.log(barrage.css("left"))} if(barrage.css("left") === "30px" || barrage.css("left") === "100%"){ $('.bui-switch-input').click();//向barrage开关发送点击消息 if(DebugLog){console.log("向barrage开关发送点击消息")} } if(barrage.css("left") === "2px"){ isgo = false; if(DebugLog){console.log("检测到barrage开关关闭");} return; } if(Const>30){isgo = true;return;} setTimeout(go,300); } setInterval(()=> { if(isgo || url!==geturl()){ if(url!==geturl()){ Const = 0; } url=geturl(); isgo = false; go(); } },1000) function geturl(){ return window.location.href; } } //自动连播,跳过充电页 function pass() { let jumpButton = '.bilibili-player-electric-panel-jump'; setInterval(() => { if($(jumpButton).length > 0) { $(jumpButton).trigger('click') } }, 200) } //操作弹幕开关函数 function barrage_switch(){ //找到弹幕input标签,并点击 let input = document.querySelector(".bui-switch-input"); input.click(); show(); } //关闭弹幕 defaultBarrage() window.onload=function(){ //跳过 pass() window.onkeydown = function(ev){ //ev表示onkeydown事件对象,keyCode属性就是当前按下的键为多少。63为字母 c if(ev.keyCode===67){ barrage_switch(); } } }