Bilibili 旧播放页

- 本脚本为自用的Tampermonkey(Chrome)脚本,通过重写网页框架的方式切换到Bilibili旧版播放页
- 本脚本没有任何交互设计,所有功能安装即默认开启,包括依个人兴趣添加的各种奇葩功能
- 本脚本选择沙箱模式来尽力回避与其他同域脚本的冲突,详情及可能出现冲突时的解决办法见下面兼容性条目
- 缘起
脚本实现
已知问题
以下问题这里可能处于并将长期处于无法解决状态,请多担待!
- 嵌入式页面的换p功能会失效(如拜年祭)。
- 旧版播放器原生不支持互动视频,观看互动视频请关闭本脚本。
- 稍后再看页面播放器右侧列表载入失败。
- 稍后再看页面没有mini播放器(新版页面也没有,大概是B站自身bug)。
- 稍后再看页面宽屏或网页全屏模式下弹幕滚动区域没有重绘。
- av页渲染有点慢,除非版底出现,否则请稍等播放器渲染出来(其实播放器渲染比版头还快,为美观做了隐藏处理)。
- 偶发载入异常问题请通过刷新解决,没用就多刷新几次,硬刷新更佳(快捷键
Shift + F5
或者Ctrl + Shift + R
)
- 由于脚本实现机制,可能导致部分其他脚本功能异常(详情及可能的解决办法见下面兼容性条目)
- 沙箱模式只能间接访问页面上下文,致使载入异常风险增加还请见谅。
兼容测试
下面是测试用的平台,目前没有测试其他平台的条件和意向
- Microsoft Windows 8 (Build 6.2.9200.0) (64 位)
- Google Chrome 80.0.3987.132 (正式版本) (64 位) (cohort: 8087Win)
- Tampermonkey BETA 4.10.6111
测试发现本脚本若直接在页面上下文(即默认模式)中运行将导致其他同域的不以run-at document-start
模式注入的脚本无法启动,其中原因或许与重写页面时所暴力使用的document.write()
方法有关,进一步的测试还发现若此时还存在某同域脚本(可以是本脚本)在沙箱模式中运行时,其他异常脚本便能恢复,出于兼容其他同域脚本的考虑,脚本正式由默认模式改为了沙箱模式运行。具体测试数据如下:
参考致谢
效果预览
①Bangumi ②Video ③Watchlater ④Bagumi-special

版本历史
- 2020-03-06:不再对子页面进行多余处理以降低性能需求;修复了跨域请求未带协议时可能请求错误的bug;初步引入错误收集功能以缓解因报错而导致脚本完全瘫痪的情况;
- 2020-03-05:使用第三方接口(BiliPlus)修复了失效视频信息;
- 2020-03-04:修改元数据以缓解与其他同域脚本的冲突;添加番剧分集播放和弹幕显示;
- 2020-03-03:修复播单页失效版头并统一播放器布局;恢复B站首页在线数统计和投稿数统计;
- 2020-03-02:添加了当前登录的B站账号注册时间信息显示,初步修复空间收藏和频道中的失效视频信息;
- 2020-03-01:重写嵌入式播放器替换逻辑,解决了子页面的跨域问题并将
match
改回了Bilibili主站;
- 2020-02-22:修复版头替换bug;更改脚本为全网生效以处理非主站嵌入式播放器跨域问题;
- 2020-02-21:规范脚本架构;重写了嵌入式播放器替换逻辑并默认选择宽屏模式;
- 2020-02-06:对av页也主动写入INITIAL_STATE字段;
- 2020-01-29:当嵌入播放器分辨率太小(宽度<720)时自动启动宽屏模式;
- 2020-01-25:排除匹配直播站点,消除对于直播站点的影响;
- 2020-01-24:紧急修复部分页面(拜年祭)嵌入式播放器替换失败问题;
- 2020-01-22:优化部分其他实现;
- 2020-01-20:修正大会员及付费提示;修复部分特殊Bangumi页(ep)判定;
- 2020-01-19:从BGM页中分离出特殊页面(有特殊背景图)另外处理;修复稍后再看无法读取标题导致报错;主动构造了ep页番剧信息;主动写入标题;
- 2020-01-18:主动构造了番剧信息,解决ss番剧页”开播提醒“问题;添加了av页的INITIAL_STATE,防止注入过快导致缺少相关数据使播放器启动失败;
- 2020-01-17:修复了av页分离错误;重写了内嵌播放页替换过程;
- 2020-01-16:实现了部分嵌入播放器页面;实现了部分版头和版底;修改了av播放器大小;
- 2020-01-11:去掉了一个正则表达式以改善兼容问题;
- 2020-01-10:再重写替换架构,不再主动继承任何原生网页数据;为兼容性重新引入XHR并修复部分问题;重写脚本架构;修复部分布局问题;
- 2020-01-08:规范脚本结构;再处理av页版头问题;
- 2020-01-05:回滚2.1.3版本的av页架构,使渲染过程不那么撕裂;
- 2020-01-04:参考2.1.3版本再优化av页架构,加快av页载入速度;
- 2020-01-03:重写av页框架;添加bangumi页实现;
- 2019-12-31:修复av页版头问题;
- 2019-12-30:修复高分辨率下av页播放器布局问题;缓解了稍后再看页面播放器容易初始化失败的问题;修改av页替换逻辑,提高与其他脚本的兼容性;修复了一个布局问题;实现自动切换到弹幕列表;
- 2019-12-29:重写脚本结构并整合了稍后再看页面;
- 2019-12-27:添加脚本;改进修复播放器布局的方法;修复整个页面布局;