对应功能
弹幕转义(unescapeDanmaku)
问题描述
在 Chrome + Tampermonkey 中使用 Bilibili Evolved 2.11.3,已启用“弹幕转义”,并确认“对 \n 转义 / 对 /n 转义”开关开启。刷新页面后,高级弹幕中的字面量 /n 没有被替换为真实换行。例如在BV1ws411S7tm中,有许多带/n的高级弹幕,此功能对这些弹幕并未生效(例如2:46和2:54等)
脚本版本
2.11.3
脚本管理器及版本
Tampermonkey v5.5
浏览器及版本
Chrome 151.0.7922.170
播放器日志
播放策略
默认
错误信息
Console 未观察到明显报错。
我看了一下 v2.11.3 源码,`弹幕转义` 在 `registry/lib/components/video/danmaku/unescape/index.ts` 中通过 `forEachVideoDanmaku()` 处理弹幕文本;而 BPX 播放器选择器里普通弹幕层和高级弹幕层是分开的:
- `danmaku: '.bpx-player-row-dm-wrap'`
- `advDanmaku: '.bpx-player-adv-dm-wrap'`
- `basDanmaku: '.bpx-player-bas-dm-wrap'`
当前 `弹幕转义` 似乎只覆盖了普通弹幕层,没有覆盖 `advDanmaku`,所以 mode=7 高级弹幕中的 `/n` 没被处理。
本地验证:
我用一个额外 userscript 通过 Tampermonkey 同时监听 `.bpx-player-adv-dm-wrap` 后,问题可以解决。因此推测修复方向是让 `弹幕转义` 同时处理普通弹幕层、高级弹幕层,可能还包括 BAS 弹幕层。
附加截图
bilibili-advanced-danmaku-newline-fix.user.js
致遇到了相同问题准备回复的人
太长不看:
1、遇到了相同的问题:请用左下角的 reaction 点赞
2、实时关注该 Issue 的后续进展:请用 Issue 页上的 Subscribe 功能(在 PC 端按钮通常位于页面右侧)。
请您回复前务必确认您有在本 Issue 之外补充了其它相关信息(比如 Log)再行回复以免对他人造成不必要的困扰
完整版
由于每个 Issue 甚至整个项目都是可以订阅通知的, 对于已经有人汇报过的 Bug, 如果您也遇到了并且没有其他信息要补充, 可以直接在左下点个赞表示 +1, 不要再去新增评论。想关注后续的可以用 Subscribe,Subscribe 之后该 Issue 如果有变动都可以收到通知,如果不想被回复打扰可以使用更加进阶的 Customize 功能,勾选 "Closed" & "Reopened"。Closed 通常代表该 Issue 已被解决,极少数情况下的 Reopened 代表该 Issue 的问题重新出现。如果您新增了无意义评论,因为 Issue 这个 bug tracker 与邮件列表类似,订阅某个 Issue 的用户会在每次这个 Issue 有新的动态时收到一封新的提醒邮件。也就是说,在 Issue 中的一个不能提供新的信息的评论,相当于给所有订阅这个 Issue 的用户发了一封垃圾邮件(spam)。尤其项目的维护者也是订阅者中的一员,太多垃圾邮件会对维护者带来很多不必要的困扰。发送垃圾邮件在开源社区通常是不那么受欢迎的行为。
对应功能
弹幕转义(unescapeDanmaku)
问题描述
在 Chrome + Tampermonkey 中使用 Bilibili Evolved 2.11.3,已启用“弹幕转义”,并确认“对 \n 转义 / 对 /n 转义”开关开启。刷新页面后,高级弹幕中的字面量
/n没有被替换为真实换行。例如在BV1ws411S7tm中,有许多带/n的高级弹幕,此功能对这些弹幕并未生效(例如2:46和2:54等)脚本版本
2.11.3
脚本管理器及版本
Tampermonkey v5.5
浏览器及版本
Chrome 151.0.7922.170
播放器日志
播放策略
默认
错误信息
附加截图
bilibili-advanced-danmaku-newline-fix.user.js
致遇到了相同问题准备回复的人
太长不看:
1、遇到了相同的问题:请用左下角的 reaction 点赞
2、实时关注该 Issue 的后续进展:请用 Issue 页上的 Subscribe 功能(在 PC 端按钮通常位于页面右侧)。
请您回复前务必确认您有在本 Issue 之外补充了其它相关信息(比如 Log)再行回复以免对他人造成不必要的困扰
完整版
由于每个 Issue 甚至整个项目都是可以订阅通知的, 对于已经有人汇报过的 Bug, 如果您也遇到了并且没有其他信息要补充, 可以直接在左下点个赞表示 +1, 不要再去新增评论。想关注后续的可以用 Subscribe,Subscribe 之后该 Issue 如果有变动都可以收到通知,如果不想被回复打扰可以使用更加进阶的 Customize 功能,勾选 "Closed" & "Reopened"。Closed 通常代表该 Issue 已被解决,极少数情况下的 Reopened 代表该 Issue 的问题重新出现。如果您新增了无意义评论,因为 Issue 这个 bug tracker 与邮件列表类似,订阅某个 Issue 的用户会在每次这个 Issue 有新的动态时收到一封新的提醒邮件。也就是说,在 Issue 中的一个不能提供新的信息的评论,相当于给所有订阅这个 Issue 的用户发了一封垃圾邮件(spam)。尤其项目的维护者也是订阅者中的一员,太多垃圾邮件会对维护者带来很多不必要的困扰。发送垃圾邮件在开源社区通常是不那么受欢迎的行为。