一部分简短的需求,我直接用 JS + JSDoc 来写,用 User JavaScript and CSS 这个插件直接来加载
另一部分功能逐渐变得复杂的代码,已经重构成 模块化 + TS 然后 build 的方式,更加好开发。目前逐渐重构中
后续有空再考虑支持到 Tampermonkey
主要以 Bilibili 和 YouTube 扩展功能为主
🚧 TODO,发布到 Tampermonkey
Bilibili、YouTube,当前播放时自动暂停其他标签
🚧 TODO,目前 BroadcastChannel 仅支持同源站点,后续考虑用 Tampermonkey 实现跨源
Bilibili、YouTube,显示进度,点击复制总时间
🚧 TODO,代码重构
override B 站的快捷键(使大部分视频控制键位集中在左手区,以方便单手操作)
- 快捷键
Cmd + Shift + s复制当前截图画面Cmd + Shift + d复制视频字幕到剪贴板(以便 ai 解读)Cmd + Shift + c复制干净的视频链接(去除多余小尾巴)c切换字幕显示b软切换弹幕(通过控制图层的opacity,而不是display,这样能保留滚动位置而不是清空)t网页全屏f屏幕全屏Backspace从头播放Space播放暂停r切换单集循环q,ArrowLeft倒退 1 秒e,ArrowRight前进 1 秒z变速 -0.125x变速 +0.125v切换变速
- 自动化
- 自动连播行为:如果是列表视频则自动连播,否则单集视频播完暂停
- 新增的快捷键
Cmd + Shift + s复制当前截图画面Cmd + Shift + d复制字幕[,]切换列表上下集Backspace从头播放q倒退 1 秒e前进 1 秒z变速 -0.125x变速 +0.125v切换变速
- 自动化
- 初始自动设置高清晰度
封装了一些工具函数
- net-hook:监听 fetch 和 xhr response
- dom-observer:封装 querySelector + MutationObserver
- media-control:常用音视频元素控制功能
- progress-bar for playlist:播放列表进度条组件
