Greasy Fork

Greasy Fork is available in English.

Bilibili 旧播放页

恢复原生的旧版页面,包括主页和播放页。

当前为 2020-08-07 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

作者
MotooriKashin
评分
0 0 0
版本
3.3.2
创建于
2019-12-27
更新于
2020-08-07
大小
155.1 KB
许可证
MIT
适用于

Bilibili 旧播放页


Windows 8 Chrome 84 Firefox 79 Tampermonkey 4.10

  • Tampermonkey脚本,通过重写网页框架的方式切换到原生旧版页面
  • 默认启用了部分其他功能,可通过设置关闭
  • 可能会与其他同域脚本产生冲突,详情参见下文兼容数据
  • B站变动时间轴记录
    • 2019年12月09日:弃用 旧版av&Bangumi
    • 2019年12月24日:弃用 旧版稍后再看
    • 2020年03月23日:启用 BV代替av
    • 2020年04月04日:弃用 旧版主页
    • 2020年04月23日:开启 4K灰度测试
    • 2020年04月28日:弃用 播单
    • 2020年05月21日:改版 弹幕
    • 2020年07月13日:改版 稍后再看
    • 2020年07月29日:改版 新版播放器

脚本实现


关于设置

  • 设置入口设计得比较隐蔽以保护原生页面
  • 入口在页面右下角2~3厘米处鼠标移过会自动显现
  • 大部分设置都需要刷新才会生效
  • 设置数据存储在脚本管理器中与cookies无关
  • 这个动图 能解决所有设置相关问题

已知问题

以下问题这里可能处于并将长期处于无法解决状态,请多担待!

  1. 旧版页面载入较新版慢,因为无法在请求新版之前启用旧版。
  2. 旧版播放器原生不支持CC字幕,推荐安装Bilibili CC字幕工具进行支持。
  3. 旧版播放器原生不支持互动视频,已主动忽略。
  4. 旧版播放器原生不支持全景视频,将无法移动视角。
  5. 旧版主页部分失效分区已进行替换,广告-->资讯(排行接口失效 2020.07.30)。
  6. 旧版主页推荐位接口失效,已屏蔽三日\昨日\七日切换。
  7. 旧版播放页面的充电接口失效,请移步UP主的个人空间。
  8. 嵌入式页面只简单替换播放器不会单独适配其他功能(如 拜年祭)。
  9. 播单页使用二次跳转的方式绕开404错误所以载入比较慢。
  10. 收藏播放页会跳转av页进行模拟,up简介等非重要信息没有去额外获取。
  11. 各种由于浏览器缓存引发载入异常问题请尝试刷新,硬刷新(Shift + F5Ctrl + Shift + R)更佳。

兼容数据

Microsoft Windows 8 (Build 6.2.9200.0) (64 位)
Google Chrome 84.0.4147.105 (正式版本) (64 位) (cohort: Stable)
Tampermonkey BETA 4.10.6118

平台兼容问题:

  • Firefox最新版(79)旧版框架启用失败,原因不明,之前的版本没问题

代码兼容问题:

  • 旧版页面使用的document.write()方法对其他脚本及扩展的影响:
    • DOM的数据被覆盖
    • DOM的回调失效:如addEventListenerdocument.onclick
    • GM_setValue()方法失效
    • 注1:只针对以run-at document-start注入脚本
    • 注2:只针对启用了旧版框架的页面
    • 注3:window的属性和方法等不会失效

附上测试结果:

  • Bilibili Evolved基本正常
    GM_setValue失效,在旧版页面无法修改设置
    “简化主页”冲突,使旧版主页布局紊乱
    旧版番剧页面“批量下载”报错:“获取番剧数据失败: 无法找到 Season ID”
    快捷键拓展未适配,在旧版页面部分快捷键无效
  • Bilibili直播间挂机助手3完全正常
  • 解除B站区域限制基本正常
    旧版UI未适配,无法在旧版页面调出设置
    若要同时使用请关闭本脚本“区域限制”选项!
  • Bilibili CC字幕工具完全正常
    初次使用可能会报错:“CC字幕助手配置失败:SyntaxError: Unexpected token u in JSON at position 0”,去新版页面使用一次即可永久解决
    推荐安装以让旧版播放器支持CC字幕
  • Bilibili 修车插件完全正常
    推荐以run-at document-start注入
    推荐只在需要时启用该脚本
  • Bilibili - Whose Bullets完全正常
  • IDM Integration Module下载浮动条失效 ಥ_ಥ
  • pakku.js完全正常
  • smoothscroll平滑滚动失效 ಥ_ಥ

隐私相关

  1. 脚本在实现部分功能时可能会读取您的部分信息
    • cookies:与B站后端进行交互时默认带上了cookies以让B站识别用户身份
      • uid:用于判断是否登录,以修复动态等
      • bili_jct:用于与B站后端进行校验,实现点赞功能
  2. 脚本申请了GM_xmlhttpRequest权限只用于获取第三方数据,参见元数据@connect
    • BiliPlus:获取缓存的视频标题和封面等信息
    • Bilibilijj:获取缓存的视频标题和封面等信息
    • bilibili:同域名下的不同主机(如 www.bilibili.com 与 space.bilibili.com ),B站可能并未开通CROS权限,也只能采用GM实现跨域
  3. 脚本引用了部分公开库,用于无法自己独立实现的功能
    • protobuf:用于将新版proto弹幕转码为旧版播放器能识别的xml弹幕

参考致谢


效果预览

Bangumi

版本历史

  • 2020-08-06
    • 添加历史记录只显示视频播放历史的功能
    • 更新bangumi框架以处理页面部分请求重复的问题
  • 2020-08-05
    • 下载面板flv类型也显示画质
    • 优化脚本结构和注释便于维护
  • 2020-08-04
    • 实现旧版播放器支持新版弹幕 (感谢wly5556)
  • 2020-08-03
    • 修复点赞功能
  • 2020-07-31
    • 优化评论楼层功能
    • 优化失效视频功能
    • 下载视频将随切P而更新
  • 2020-07-30
    • 添加解除区域限制功能(大概不支持会员视频)
  • 2020-07-29
    • 添加屏蔽直播间视频及轮播视频的功能
    • 改进播放通知信息生成方法
  • 2020-07-28
    • 修复主页__INITIAL_STATE__错误
  • 2020-07-27
    • 修复分集数据错误
    • 替换失效的嵌入式播放器
  • 2020-07-15
    • 将下载按钮移动到播放器右键菜单
  • 2020-07-14
    • 修复新版av页__playinfo__报错
  • 2020-07-13
    • 修复一个三目运算语法错误
    • 改进视频下载功能
    • 修复新版稍后再看改版引发的布局问题
    • 重定向新版稍后再看
  • 2020-07-11
    • 改进去除首页广告功能
    • 改进bv=>av功能,使大部分模块直接显示av号
    • 修复主页部分分区问题
  • 2020-07-07
    • 修复设置界面在部分页面布局错乱
    • 改进嵌入式播放框架选择
    • 添加去除旧版主页广告选项
  • 2020-07-02
    • 修复新版播放页面样式误删
  • 2020-07-01
    • 修复部分av页播放器被隐藏问题
  • ……更多……