您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
1.关闭智能云屏蔽 2.关闭高赞弹幕 3.关闭大会员弹幕
// ==UserScript== // @name B站弹幕hook // @version 0.3 // @description 1.关闭智能云屏蔽 2.关闭高赞弹幕 3.关闭大会员弹幕 // @author DeltaFlyer // @copyright 2024, DeltaFlyer(https://github.com/DeltaFlyerW) // @license MIT // @match https://www.bilibili.com/video/* // @match https://www.bilibili.com/bangumi/play/* // @run-at document-start // @grant unsafeWindow // @icon https://www.biliplus.com/favicon.ico // @require https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.0/jszip.min.js // @namespace https://greasyfork.org/users/927887 // ==/UserScript== (function() { 'use strict'; const originalSet = Map.prototype.set; let hooked = false; Map.prototype.set = function(key, value) { if (!hooked && key && key.danmakuStore && typeof key.danmakuStore.fetchDmSeg === 'function') { hooked = true; const bpx_player = key; window.bpx_player = bpx_player; // 可选:如果需要在控制台调试可以保留 console.log("B站播放器实例已Hook:", bpx_player); const danmakuStore = bpx_player.danmakuStore; const originalFetchDmSeg = danmakuStore.fetchDmSeg.bind(danmakuStore); danmakuStore.fetchDmSeg = async function(...args) { try { const result = await originalFetchDmSeg(...args); if (result && result.details && Array.isArray(result.details.elems)) { for (const danmaku of result.details.elems) { danmaku.weight = 11; // 关闭智能云屏蔽 danmaku.attr = 1048576; // 关闭高赞弹幕 danmaku.colorful = undefined; // 关闭大会员弹幕 } console.log("弹幕数据已处理:", result); } return result; } catch (error) { console.error("Hook fetchDmSeg 发生错误:", error); return originalFetchDmSeg(...args); // 发生错误时返回原始结果,避免影响功能 } }; } return originalSet.call(this, key, value); }; })();