自动宽屏、调整滚动条位置、左右侧添加回到顶部隐藏按钮,自动隐藏小窗口视频
// ==UserScript==
// @name B站自动宽屏
// @description 自动宽屏、调整滚动条位置、左右侧添加回到顶部隐藏按钮,自动隐藏小窗口视频
// @version 5.4
// @author zhanaa
// @include *://www.bilibili.com/video/*
// @include *://www.bilibili.com/bangumi/*
// @namespace nobody_space
// ==/UserScript==
//该dom元素是动态添加的,得通过setInterval设置
var ss = setInterval(btnChangeStyle, 1500);
let mini_box
//发送弹幕按钮改为白色背景
function btnChangeStyle(){
var btn = document.querySelector('.bpx-player-dm-btn-send').children[0];
mini_box = document.querySelector('.bpx-state-no-cursor');
if(btn !== null){
btn.style.color = '#757575';
btn.style.backgroundColor = '#ffffff';
}
if(btn !== null && mini_box !== null){
clearInterval(ss)
}
}
window.addEventListener('scroll', function (e) {
if(window.pageYOffset >= 700 && mini_box !== null){
mini_box.style.display='none';
}
if(window.pageYOffset < 700 && mini_box !== null){
mini_box.style.display='block';
}
})
//自动宽屏、调整滚动条位置
function setScroll(){
if(location.pathname.indexOf("bangumi/") === 1){
window.scrollTo(0,0)
}else{
window.scrollTo(0,146)
}
}
;(async function () {
// prevent space bar from scrolling page
window.addEventListener('keydown', function (e) {
if (e.code === 'Space' && e.target == document.body) {
e.preventDefault()
}
})
const sleep = function * (sec) {
while (true) {
yield new Promise(res => setTimeout(res, sec * 1000))
}
}
for await (const __ of sleep(0.5)) {
const box = document.querySelector(
'.bpx-player-control-bottom-right',
)
const btn = box.querySelector('.bpx-player-ctrl-wide-enter')
if (btn) {
btn.click()
break
}
}
setScroll()
})()
////////////////////////////////
//右侧大区域添加回到顶部隐藏按钮
;(async function() {
var btnId = '__gotop1';
var isIE = !!window.ActiveXObject && /msie (\d)/i.test(navigator.userAgent) ? RegExp['$1'] : false;
function $() {
return document.getElementById(arguments[0]);
}
function getScrollTop() {
return ('pageYOffset' in window) ? window.pageYOffset
: document.compatMode === "BackCompat"
&& document.body.scrollTop
|| document.documentElement.scrollTop ;
}
function bindEvent(event, func) {
if (window.addEventListener) {
window.addEventListener(event, func, false);
} else if (window.attachEvent) {
window.attachEvent('on' + event, func);
}
}
bindEvent('load',
function() {
var css = 'width:125px;height:560px;position:fixed;right:10px;top:8px;border-radius:10px;cursor:pointer;display:none;';
if (isIE && isIE < 7) {
css += '_position:absolute;_top:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-30-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||0)-(parseInt(this.currentStyle.marginBottom,10)||0)))';
var style = document.createStyleSheet();
style.cssText = '*html{background-image:url(about:blank);background-attachment:fixed;}';
}
var html = '';
var el = document.createElement('DIV');
el.id = btnId;
el.style.cssText = css;
el.innerHTML = html;
document.body.appendChild(el);
el.onclick = function() {
setScroll()
};
}
);
bindEvent('scroll',
function() {
var top = getScrollTop(), display = 'none';
if (top >= 0) {
display = 'block';
}
$(btnId).style.display = display;
});
})();
////////////////////////////////
//左侧大区域添加回到顶部隐藏按钮
;(async function() {
var btnId = '__gotop2';
var isIE = !!window.ActiveXObject && /msie (\d)/i.test(navigator.userAgent) ? RegExp['$1'] : false;
function $() {
return document.getElementById(arguments[0]);
}
function getScrollTop() {
return ('pageYOffset' in window) ? window.pageYOffset
: document.compatMode === "BackCompat"
&& document.body.scrollTop
|| document.documentElement.scrollTop ;
}
function bindEvent(event, func) {
if (window.addEventListener) {
window.addEventListener(event, func, false);
} else if (window.attachEvent) {
window.attachEvent('on' + event, func);
}
}
bindEvent('load',
function() {
var css = 'width:125px;height:560px;position:fixed;left:10px;top:8px;border-radius:10px;cursor:pointer;display:none;';
if (isIE && isIE < 7) {
css += '_position:absolute;_top:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-30-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||0)-(parseInt(this.currentStyle.marginBottom,10)||0)))';
var style = document.createStyleSheet();
style.cssText = '*html{background-image:url(about:blank);background-attachment:fixed;}';
}
var html = '';
var el = document.createElement('DIV');
el.id = btnId;
el.style.cssText = css;
el.innerHTML = html;
document.body.appendChild(el);
el.onclick = function() {
setScroll()
};
}
);
bindEvent('scroll',
function() {
var top = getScrollTop(), display = 'none';
if (top >= 0) {
display = 'block';
}
$(btnId).style.display = display;
});
})();
//////////////////////////////////////////////
///点击播放页面推荐的视频时也自动宽屏
//////////////////////////////////////////////////
(function bilibili() {
'use strict';
var counter=0;
let iscensor = true;
let url = geturl();//获取刚加载脚本时的Url
is_change_url();
censor();
setTimeout(censor,100);
go();
function go(){
counter++;
if(document.querySelector(".bilibili-player-video-btn.bilibili-player-video-btn-widescreen")&&document.querySelector(".bilibili-player-video-btn.bilibili-player-video-btn-widescreen").offsetHeight>0){
if(document.querySelector("#bangumi_player")){
scrollTo(0,document.querySelector("#bangumi_player").offsetTop);
if(document.querySelector(".bilibili-player-video-btn.bilibili-player-video-btn-widescreen").innerHTML.indexOf("退出宽屏")!=-1 ||
document.querySelector(".bilibili-player-video-btn.bilibili-player-video-web-fullscreen").innerHTML.indexOf("退出网页全屏")!=-1 ||
document.querySelector(".bilibili-player-video-btn.bilibili-player-video-btn-fullscreen").innerHTML.indexOf("退出全屏")!=-1
){iscensor = true; return;}
setTimeout(function(){document.querySelector(".bilibili-player-video-btn.bilibili-player-video-btn-widescreen").click();iscensor = false;},50);
}
else{
if(document.querySelector(".bilibili-player-video-btn.bilibili-player-video-btn-widescreen:not(.closed)")!=null)
setTimeout(function(){document.querySelector(".bilibili-player-video-btn.bilibili-player-video-btn-widescreen:not(.closed)").click();iscensor = false;},50);
}
}
else{
if(counter>2){
iscensor = false;
return;
}
setTimeout(go,300);
}
}
function geturl(){
return window.location.href;
}
function is_change_url(){
if(url!=geturl()){
clearTimeout(censor);
bilibili();
}else
setTimeout(is_change_url,100);
}
function censor(){
setScroll()
}
})();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址