本文为本站原创,未经允许请勿随意转载,谢谢!
本脚本仅适用于原稿件弹幕池还开放的情况。
下面代码中的oid即为视频的cid(如何获取可以自行搜索),可以通过https://comment.bilibili.com/<cid>.xml 接口来测试弹幕池状态。
脚本载入后,点击播放器右侧展开弹幕列表,才会载入原视频的弹幕池。
新发送的弹幕等操作仍会在补档视频的弹幕池(这里没有拦截发送接口使弹幕发送到原视频弹幕池是为了防止可能存在的“污染”)。
修改下面代码中的replaceList可以自定义。
// ==UserScript==
// @name B站弹幕池替换
// @namespace http://tampermonkey.net/
// @version 2026-02-22
// @description 替换B站弹幕请求的oid参数,支持多个视频配置。注意:需要点击右侧弹幕池才会加载原稿件弹幕!
// @author https://space.bilibili.com/226755921
// @match https://www.bilibili.com/video/BV*
// @icon https://www.bilibili.com/favicon.ico
// @grant none
// ==/UserScript==
(function() {
'use strict';
// 配置列表:每个视频的BV号和对应的oid
const replaceList = [
{ bv: 'BV1pvZfB2EFW', oid: '36088580775' },
// 在这里添加更多视频配置
// { bv: 'BVxxx', oid: 'xxx' },
];
// 获取当前页面的BV号
function getCurrentBV() {
const path = window.location.pathname;
const match = path.match(/\/video\/(BV\w+)/);
return match ? match[1] : null;
}
// 检查当前视频是否需要替换
function getTargetOid() {
const currentBV = getCurrentBV();
if (!currentBV) return null;
const config = replaceList.find(item => item.bv === currentBV);
return config ? config.oid : null;
}
// 原始的open方法
let oldOpen = XMLHttpRequest.prototype.open;
// 重写open方法
XMLHttpRequest.prototype.open = function(method, url, async, user, password) {
// 获取当前视频对应的oid
const targetOid = getTargetOid();
// 如果有配置且是弹幕API请求,则替换oid参数
if (targetOid && typeof url === 'string' && url.includes('api.bilibili.com/x/v2/dm/wbi/web/seg.so')) {
const newUrl = url.replace(/(oid=)\d+/, '$1' + targetOid);
if (newUrl !== url) {
console.log('B站弹幕池替换: 将oid替换为', targetOid);
url = newUrl;
}
}
// 调用原始的open方法
return oldOpen.call(this, method, url, async, user, password);
};
console.log('✅B站弹幕池替换脚本已加载');
})();
注意:
- 只适用于电脑网页版。
- 代码中的默认配置适用于【极客湾】(一补)手机游戏性能大横评:厂商作弊太疯狂!及其补档,懂自懂。
- 用完记得把脚本关掉。
效果示意:

鄂公网安备 42068302000286号