您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
按下按钮将弹幕颜色转为另一个颜色
// ==UserScript== // @name Bilibili弹幕颜色过滤器带按钮版 // @namespace https://github.com/Fenejifen // @version 0.2.0 // @description 按下按钮将弹幕颜色转为另一个颜色 // @author Fenejifen // @match https://*.bilibili.com/* // @match http://*.bilibili.com/* // @license MIT // ==/UserScript== // 融合https://greasyfork.org/zh-CN/scripts/450794 和 https://greasyfork.org/zh-CN/scripts/420995两个而来,前者创建按钮后者改变颜色 (function () { "use strict"; /** 刷新弹幕颜色的间隔时间(毫秒) */ var CD = 233; /** 需要过滤的颜色列表,请务必使用小写*/ var COLORS_TO_FILTER = [ "#ffffff", // 示例:过滤白色弹幕 ]; /** 想要转换成的颜色,此处默认转为绿色弹幕*/ var TARGET_COLOR = "#00FF00"; // 生成过滤颜色按钮 var btn = document.createElement("button"); // 按钮文字 btn.innerText = "启动过滤"; // 添加按钮的样式id值为filterBtn btn.setAttribute("id", "filterBtn"); // 生成style标签 var style = document.createElement("style"); // 把样式写进去 style.innerText = `#filterBtn{position:fixed;top:150px;right:15px;width:75px;height:55px;padding:3px 5px;border:1px solid #0d6efd;cursor:pointer;color:#0d6efd;font-size:14px;background-color:transparent;border-radius:5px;transition:color .15s ease-in-out,background-color .15s ease-in-out;z-index:9999999999999;}#filterBtn:hover{background-color:#0d6efd;color:#fff;}`; // 在head中添加style标签 document.head.appendChild(style); // 在body中添加button按钮 document.body.appendChild(btn); // 添加点击按钮去执行颜色过滤函数 btn.addEventListener("click", clickToStart); var interval; //用于绑定开始结束循环刷新弹幕颜色 function clickToStart() { /** 启动过滤同时绑定再次按下取消过滤 */ startFilter(); btn.removeEventListener("click", clickToStart); btn.addEventListener("click", clickToEnd); btn.innerText = "结束过滤" } function clickToEnd() { /** 结束过滤同时绑定再次按下启动过滤 */ endFilter() btn.removeEventListener("click", clickToEnd); btn.addEventListener("click", clickToStart); btn.innerText = "启动过滤" } function startFilter() { /** 开始循环刷新弹幕颜色 */ interval = setInterval(function () { document.querySelectorAll(".bili-show").forEach(function (ele) { var startColorString = ele.outerHTML.indexOf("--color"); var dmColor = ele.outerHTML.slice(startColorString + 9, startColorString + 16); var res = COLORS_TO_FILTER.indexOf(dmColor); if (res != -1) { ele.style.color = TARGET_COLOR; } }); }, CD); } function endFilter() { /** 结束循环刷新弹幕颜色 */ clearInterval(interval) } })();