这里写自定义目录标题
// UserScript
// @name Live Danmaku Controller
// @name:zh-CN 直播弹幕控制
// @description Auto turn off danmaku, And press ‘M’ to control danmaku on/off.
// @description:zh-CN 自动关闭弹幕, 按下 ‘M’ 随时开关直播弹幕.
// @namespace live-danmaku-controller
// @version 2019.06.25
// @author kazetoyuki
// @license MIT License
// @run-at document-idle
// @require https://cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.js
// @require https://greasyfork.org/scripts/48306-waitforkeyelements/code/waitForKeyElements.js?version=275769
// @include ?/live.bilibili.com/
// @include ?/www.douyu.com/
// @include ?/www.huya.com/
// @include ?/www.yy.com/
// /UserScript
‘use strict’
var selector = {
‘live.bilibili.com’: {
‘on’: “i[class=‘live-icon-danmaku-on’]”,
‘off’: “i[class=‘live-icon-danmaku-off’]”
},
‘www.douyu.com’: {
‘on’: “div[class^=‘showdanmu-’]:not([class*=‘removed-’])”,
‘off’: “div[class^=‘hidedanmu-’]:not([class*=‘removed-’])”
},
‘www.huya.com’: {
‘on’: “div[class=‘danmu-show-btn’][title=‘关闭弹幕’]”,
‘off’: “div[class=‘danmu-show-btn danmu-hide-btn’][title=‘开启弹幕’]”
},
‘www.yy.com’: {
‘on’: “div[class~=‘yc__bullet-comments-btn’][title=‘关闭弹幕’]”,
‘off’: “div[class~=‘yc__bullet-comments-btn’][title=‘打开弹幕’]”
}
}
var delaySite = [
‘www.yy.com’
]
var liveSite = document.location.hostname
// Auto turn off danmaku
function disableDanmaku (button) {
button[0].click()
}
function disableDanmakuDelay () {
var button = document.querySelector(selector[liveSite].on)
if (button !== null) {
button.click()
}
}
if (delaySite.includes(liveSite)) {
setTimeout(disableDanmakuDelay, 5000)
} else {
waitForKeyElements(selector[liveSite].on, disableDanmaku, false)
}
// Detect ‘m’ and ‘M’ key and control danmaku on/off
function controlDanmaku (button) {
if (document.querySelector(button.on) !== null) {
// on -> off
document.querySelector(button.on).click()
} else if (document.querySelector(button.off) !== null) {
// off -> on
document.querySelector(button.off).click()
}
}
$(document).keypress(function (key) {
// detect ‘m’ or ‘M’ Key
if (key.which === 77 || key.which === 109) {
controlDanmaku(selector[liveSite])
}
})