Greasy Fork is available in English.

还我av页旧版播放器

基本实现了在bilibli的av页启用旧版播放器,剩下些布局问题和会跳转的av页问题

您查看的为 2019-12-27 11:02:39 UTC 提交的版本。查看 最新版本

作者
MotooriKashin
得分
0 0 0
版本
1.0
创建日期
2019-12-27
最近更新
2019-12-27
许可协议
MIT
应用到
功能
  • 在bilibili播放页回复旧版HTML5播放器,人家就是不想用新版嘛!
问题
  • 播放器变到了视频信息和up主信息前面,而且除了播放器和版底外都是新版布局,可能有些不伦不类;
  • 连分p列表也是新版的,这一点还是不太满意,还有番剧页面等留待后续优化(大概)
  • 如果av页会跳转,比如会从av页自动跳转番剧等专属专属页面时会跳转失败,而且旧版播放器也不会成功载入(言下之意目前只能用来看普通av号的视频);
  • 由于脚本实现机制,其他大部分脚本都将失效(同在Tampermonkey下,何必自相残杀);
版本
  • 2019-12-27:ver1.0----------七拼八凑恢复了布局到能看的样子,为表庆祝更新了脚本名称和版本号-------
  • 2019-12-27:ver0.1.1-------找到了播放器会变小的bug的原因;基于此更改了修复方法-------
  • 2019-12-27:ver0.1.1-------提交脚本-------
以下是测试版介绍,保留一段时间后删除


重写的最简陋的bilibili播放页,在av播放页启用旧版播放器,是真的简陋
功能
  • 重写av播放页启用旧版HTML5播放器
  • 没有做任何布局!
  • 没有主动获取视频附属信息和up主信息
  • 仅作为参考,供其它有能力重写布局的人恢复旧版av页布局
过程
  • 脚本内部附有详尽注释,这里做简单解释及补充
    • head获取直接自新版av页,并作去除所有script、link、style标签处理,因为不知道新版的这些东西会对旧版页面造成什么破坏;
    • 在head里尝试引入了旧版av页布局外链css,似乎并没有起任何作用,大概可以忽略;还引入了个浏览器UA判断,更可以忽略;
    • body整个重写,也只写了没有任何内容的三个顶级div,其中id为bofqi的div中插入了旧av页的一段原生内联脚本,被怀疑是启动播放器的关键;
    • body外链只外链了两个js,分别为jquery.min.js和video.min.js,功能不言而喻,引入位置也参考了旧av页
    • body内其他外链js和css,均不是本脚本引入的,可能源于原新av页自动载入"built files will be auto injected",而且使用的是`promise`异步请求(不再是`setTimeout`了),无法取消,尝试在这些请求后延时重写网页,发现引入的东西并没太大影响,反正已经够简陋了;
    • body里新增了个内联脚本,复写了两个导致播放器大小异常的罪魁祸首函数

因为有前辈提出使用重写稍后再看方法重写av页启动旧版播放器报错,所以公开此实现的源码
测试时有使用Adblock Plus拦截了新av页播放器脚本video.js减少干扰
功能太过简陋,实在不忍直视,个人无力写css布局,若有人能美化之,也是极好的
问题
  • 测试脚本,其他不多说,只有一点再强调一下
  • 进入会跳转的av页面,比如番剧av-->ss,会跳转失败,也无法正常播放,需要直接进入ss页面
  • 弹幕列表消失请尝试滚动鼠标,应该可以恢复正常
  • 脚本也没有在登录情况下测试,不知道能否更换清晰度信息