您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
解决B站恼人的单个视频自动播放问题,只对HTML5播放器生效。如果是视频集则自动播放,如果是单个视频则不自动播放。
当前为
// ==UserScript== // @name 关闭B站自动播放下一个视频(自动切集) // @namespace https://www.tampermonkey.net/ // @version 0.8 // @description 解决B站恼人的单个视频自动播放问题,只对HTML5播放器生效。如果是视频集则自动播放,如果是单个视频则不自动播放。 // @author ProDark // @match https://www.bilibili.com/* // @grant none // @run-at document-end // ==/UserScript== (function() { 'use strict'; // Your code here... function check_list_exist(){ try { var tempLists = document.getElementsByTagName("div"); for(var i in tempLists){ var theAttrClass = tempLists[i].getAttribute("class"); if( theAttrClass == "plp-r" || theAttrClass == "cur-list" || theAttrClass == "video-sections") {//判断是不是列表形连续剧 return true; } } return false; } catch(err) { return false; } } function ClickButton(Target){ var e = document.createEvent("MouseEvents"); e.initMouseEvent("click", true, false); Target.dispatchEvent(e); } //------------------------------------------------------------------------------------------- function AutoNextON(){ var divs = document.getElementsByTagName("span"); for(var i=0;i<divs.length;i++){ if( divs[i].innerText == "自动切集") { ClickButton(divs[i]); break; } } } function AutoNextOFF(){ var divs = document.getElementsByTagName("span"); for(var i=0;i<divs.length;i++){ if( divs[i].innerText == "播完暂停") { ClickButton(divs[i]); break; } } } function MouseFn_fix(){ return; // 鼠标滚轮在操作完后无法滚动条件音量,尝试随便点个位置让功能恢复 var i = 0; var divs = document.getElementsByTagName("button"); for(i=0;i<divs.length;i++){ if( divs[i].getAttribute("class") == "bilibili-player-iconfont bilibili-player-iconfont-fullscreen-off player-tooltips-trigger") { ClickButton(divs[i]); break; } } /* var divs2 = document.getElementsByTagName("button"); for(i=0;i<divs2.length;i++){ if( divs2[i].getAttribute("class") == "bilibili-player-iconfont bilibili-player-iconfont-fullscreen-on player-tooltips-trigger") { ClickButton(divs2[i]); break; } } */ } function check_fullscreen_button(){ try { var tempLists = document.getElementsByTagName("button"); for(var i in tempLists){ var theAttrClass = tempLists[i].getAttribute("class"); if( theAttrClass == "bilibili-player-iconfont bilibili-player-iconfont-fullscreen-off player-tooltips-trigger") {//判断是不是列表形连续剧 return true; } } return false; } catch(err) { return false; } } function MainProcess_old(){ //设置按钮 var buttons = document.getElementsByTagName("button"); for(var i=0;i<buttons.length;i++){ if( buttons[i].getAttribute("class") == "bilibili-player-iconfont bilibili-player-iconfont-setting") { var e = document.createEvent("MouseEvents"); e.initMouseEvent("mouseover", true, false ); buttons[i].dispatchEvent(e); var e2 = document.createEvent("MouseEvents"); e2.initMouseEvent("mouseout", true, false); buttons[i].dispatchEvent(e2); //模拟鼠标放到按钮并移开,使其加载 目标按钮节点 break; } } //成功加载 if(check_list_exist()){ AutoNextON(); MouseFn_fix(); } else{ AutoNextOFF(); MouseFn_fix(); } } //------------------------------------------------------------------------------------------- function check_videoplayer_ready(){ //squirtle-progress-wrap squirtle-progress-common ease try { var tempLists = document.getElementsByTagName("div"); for(var i in tempLists){ var theAttrClass = tempLists[i].getAttribute("class"); if( theAttrClass == "bilibili-player-video-progress-slider bui bui-slider" || theAttrClass == "squirtle-controller squirtle-pgc") {//检查播放器是否准备完毕 // 有两种播放器 return true; } } return false; } catch(err) { return false; } } function Need_to_make_Off(){ var divs = document.getElementsByTagName("p"); for(var i=0;i<divs.length;i++){ if( divs[i].getAttribute("class") == "rec-title") { return true; } } return false } function AutoNextON_inVideo(){ try { var tempLists = document.getElementsByTagName("div"); for(var i in tempLists){ var theAttrClass = tempLists[i].innerText; if( tempLists[i].innerText == "自动切集") { ClickButton(tempLists[i]) return true; } } console.log("Error : AutoNextON_inVideo"); return false; } catch(err) { console.log("Error : AutoNextON_inVideo"); return false; } } function AutoNextButtonOFF() { var divs = document.getElementsByTagName("span"); for(var i=0;i<divs.length;i++){ if( divs[i].getAttribute("class") == "switch-button on") { ClickButton(divs[i]); return true; } } return false } function AutoNextButtonON() { var divs = document.getElementsByTagName("span"); for(var i=0;i<divs.length;i++){ if( divs[i].getAttribute("class") == "switch-button") { ClickButton(divs[i]); return true; } } return false } function MainProcess(){ var ret = false; if(Need_to_make_Off()) { ret = AutoNextButtonOFF(); console.log("关闭自动切集"); }else{ ret = AutoNextON_inVideo(); if(ret == false){ ret = AutoNextButtonON(); } console.log("启动自动切集"); } //alert(ret); if(ret == true){ console.log("执行成功"); return true; }else{ console.log("执行失败,按钮不存在或已经完成功能"); return false; } } //------------------------------------------------------------------------------------------- var TryTimeOut = 20; var MainProcessTimeOut = 3; function MainTimeOut(){ setTimeout(function(){ TryTimeOut --; if( TryTimeOut<0) { return; } if( check_videoplayer_ready()== true ) { if( MainProcess() == false ) { MainProcessTimeOut --; if( MainProcessTimeOut>0) { MainTimeOut(); } } }else{ console.log("ERROR: 这个页面没找到H5播放器"); MainTimeOut(); } },1000);//延迟1秒执行....我也不知道怎么确定页面加载完了....... } window.onload = function(){ MainTimeOut() } })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址