返回首頁 

跳过b站充电鸣谢

隐藏b站充电鸣谢,并且在视频结束时自动跳过。加入渐变,防止结束时闪屏


Install this script?
// ==UserScript==// @name         跳过b站充电鸣谢// @namespace    voeoc// @version      1.2// @description  隐藏b站充电鸣谢,并且在视频结束时自动跳过。加入渐变,防止结束时闪屏// @author       voeoc// @match        https://www.bilibili.com/video/*// @icon         https://www.bilibili.com/favicon.ico// @grant        GM_addStyle// @run-at       document-idle// @license      MIT License// ==/UserScript==(function () {'use strict';// 防止闪屏// @ts-ignoreGM_addStyle(`.bilibili-player-electric-panel,.bpx-player-electric-panel {visibility: hidden;}.bilibili-player-ending-panel,.bpx-player-ending-panel {opacity: 0;transition: opacity 0.3s ease;}.bilibili-player-ending-panel.visible,.bpx-player-ending-panel.visible {opacity: 1;}`);function waitElementLoaded(selector, func, millisecond) {const TIME_OUT = 100; // 找100次没有找到就放弃let findTimeNum = 0; // 记录查找的次数let timer = setInterval(() => {let element = document.querySelector(selector);if (element != null) {// 清除定时器clearInterval(timer);func(element);} else {findTimeNum++;if (TIME_OUT < findTimeNum) {// 清除定时器clearInterval(timer);}}}, millisecond);}waitElementLoaded(".bilibili-player-video, .bpx-player-video-wrap", (videoObjParent) => {let electricPanelSelector = ".bilibili-player-electric-panel";let endingPanelSelector = ".bilibili-player-ending-panel";let jumpBtnSelector = ".bilibili-player-electric-panel-jump-content";if (videoObjParent.classList.contains("bpx-player-video-wrap")) { // 兼容新版页面electricPanelSelector = ".bpx-player-electric-panel";endingPanelSelector = ".bpx-player-ending-panel";jumpBtnSelector = ".bpx-player-electric-jump";}let videoObj = videoObjParent.querySelector("video");if (!videoObj) {videoObj = videoObjParent.querySelector("bwp-video");}videoObj.addEventListener('play', function () {try {// @ts-ignoredocument.querySelector(endingPanelSelector).classList.remove("visible");} catch (e) { console.error(e);}}, false);videoObj.addEventListener('ended', function () {// 渐变显示结束屏waitElementLoaded(endingPanelSelector, (endingPanel) => {endingPanel.classList.add("visible");}, 100)waitElementLoaded(electricPanelSelector, (electricPanel) => {if (electricPanel.style.display != 'none') {// 自动点击跳过按钮electricPanel.querySelector(jumpBtnSelector).click();}}, 1)}, false);}, 200)})();