bilibili Danmaku Disabler

Auto disable bilibili HTML5 player danmaku

目前為 2020-07-30 提交的版本,檢視 最新版本

// ==UserScript==
// @name                bilibili Danmaku Disabler
// @name:en-US          bilibili Danmaku Disabler
// @name:zh-CN          bilibili 弹幕关闭
// @description         Auto disable bilibili HTML5 player danmaku
// @description:en-US   Auto disable bilibili HTML5 player danmaku
// @description:zh-CN   自动关闭哔哩哔哩 HTML5 播放器弹幕
// @namespace           bilibili-danmaku-disabler
// @version             2020.07.30
// @author              Akatsuki
// @license             MIT License
// @grant               GM_info
// @run-at              document-idle
// @match               *://www.bilibili.com/*video/*
// @match               *://www.bilibili.com/bangumi/play/*
// @match               *://www.bilibili.com/blackboard/*
// @match               *://player.bilibili.com/*
// ==/UserScript==

"use strict";

const selectorNative = {
  on: "input[class='bui-switch-input']:checked",
  off: "input[class='bui-switch-input']:not(:checked)",
};

const selectorEmbed = {
  on: "div[class~='bilibili-player-video-btn-danmaku'][data-text='打开弹幕']",
  off: "div[class~='bilibili-player-video-btn-danmaku'][data-text='关闭弹幕']",
};

let selector = selectorNative;
if (document.location.hostname === "player.bilibili.com") {
  selector = selectorEmbed;
}

// Danmaku disabler
function disableDanmaku() {
  let isDisabled = false;
  let previousState = window.history.state;

  setInterval(() => {
    // PJAX / History.pushState detect
    if (previousState !== window.history.state) {
      previousState = window.history.state;
      isDisabled = false;
    }
    // Main Disabler
    if (isDisabled === false) {
      let buttonOn = document.querySelector(selector.on);
      if (buttonOn !== null) {
        buttonOn.click();
        isDisabled = true;
      }
    }
  }, 500);
}

disableDanmaku();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址