将大会员彩色弹幕改回默认颜色或彻底屏蔽,由于屏蔽失效且原作者qianxu长时间未更新,故修改一版暂时使用,版权归原作者所有
// ==UserScript== // @name 去他喵的大会员彩色弹幕 // @description 将大会员彩色弹幕改回默认颜色或彻底屏蔽,由于屏蔽失效且原作者qianxu长时间未更新,故修改一版暂时使用,版权归原作者所有 // @author shy0511 // @license MIT // @version 1.1.0 // @match https://www.bilibili.com/video/* // @match https://www.bilibili.com/list/* // @match https://www.bilibili.com/bangumi/play/* // @icon https://www.bilibili.com/favicon.ico // @namespace https://greasyfork.org/scripts/501945 // @grant GM_getValue // @grant GM_setValue // @grant GM_deleteValue // @grant GM_registerMenuCommand // ==/UserScript== ;(function () { 'use strict' // 读取配置 const blockVipDm = GM_getValue('blockVipDm') // 是否彻底屏蔽大会员彩色弹幕 const playerProfile = localStorage.getItem('bpx_player_profile') // 播放器配置 // 注册菜单 GM_registerMenuCommand(`${blockVipDm ? '"彻底屏蔽大会员彩色弹幕"' : '"保留大会员彩色弹幕内容"'} `, () => { if (blockVipDm) { GM_deleteValue('blockVipDm') } else { GM_setValue('blockVipDm', true) } location.reload() }) // 配置样式 let strokeType = 0 // 描边类型,默认为重墨 // 有播放器配置则则读取用户设置的描边类型 if (playerProfile) { strokeType = JSON.parse(playerProfile).dmSetting.fontborder } let textShadow = '' // 文本阴影 // 根据描边类型设置文本阴影 switch (strokeType) { case 1: // 描边 textShadow = '0 0 1px #000,0 0 1px #000,0 0 1px #000' break case 2: // 45° 投影 textShadow = '1px 1px 2px #000,0 0 1px #000' break default: // 重墨 textShadow = '1px 0 1px #000,0 1px 1px #000,0 -1px 1px #000,-1px 0 1px #000' } // 创建样式元素 const styleElement = document.createElement('style') // 根据配置设置样式内容 if (blockVipDm) { // 彻底屏蔽 styleElement.innerHTML = '.bili-danmaku-x-dm-vip, .bili-dm-vip {display:none} ' } else { // 改回默认颜色 styleElement.innerHTML = `.bili-danmaku-x-dm, .bili-dm {--textShadow:${textShadow}}.bili-danmaku-x-dm-vip, .bili-dm-vip {background-image:none !important;text-shadow:inherit !important}` } // 将样式元素添加到页面中 document.body.appendChild(styleElement) })()