Greasy Fork is available in English.
解决B站恼人的单个视频自动播放问题,只对HTML5播放器生效。如果是视频集则自动播放,如果是单个视频则不自动播放。
当前为
// ==UserScript==
// @name 关闭B站自动播放下一个视频(自动切集)
// @namespace https://www.tampermonkey.net/
// @version 0.2
// @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){
if( tempLists[i].getAttribute("class") == "plp-r" )
{//判断是不是列表形连续剧
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;
}
}
}
setTimeout(function(){
//设置按钮
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();
}
else{
AutoNextOFF();
}
},10000);//延迟10秒执行....我也不知道怎么确定页面加载完了.......
})();