视频网站自动网页全屏|倍速播放

支持哔哩哔哩、B站直播、腾讯视频、优酷视频、爱奇艺、芒果TV、搜狐视频、AcFun弹幕网自动网页全屏;快捷键切换:全屏(F)、网页全屏(P)、下一个视频(N)、弹幕开关(D);支持任意视频倍速播放,提示记忆倍速;B站播放完自动退出网页全屏和取消连播。

نووسەر
xFeny
Daily installs
7
Total installs
662
Ratings
0 1 0
وەشان
2.4.3
Created
2024-12-05
Updated
2025-01-23
Size
21 KB
مۆڵەت
GPL-3.0-only
Applies to

使用脚本前

建议先在浏览器上安装 uBlock OriginAdGuard 扩展,可有效移除视频网站的视频广告。

脚本初衷

个人比较喜欢使用网页全屏进行视频观看,B站视频看完会退出看看评论,又懒得每次都要鼠标滑动点击,基于此需求编写了该脚本。

快捷键

F:切换全屏
P:切换网页全屏
N:下一个视频
D:弹幕开/关
A+:倍速 +0.25
S-:倍速 -0.25
Z:恢复正常倍速
数字 1-91-9 倍速
符号 *:重新绑定事件到新的video,多视频页(如抖音、快手网页版)设置倍速时使用。

Tips:可以修改对应的代码,定义为自己喜欢的快捷键。存在快捷键冲突请自行修改。

关于自动网页全屏

如果不需要打开视频播放页自动网页全屏。可在脚本中找到代码,注释掉:

if (video?.play && element) this.webFullScreen() && observer.disconnect();

注释掉不会影响快捷键网页全屏(P)切换。

关于自动退出网页全屏

脚本默认对B站和AcFun弹幕网视频播放完自动退出全屏(番剧页不支持)。

B站视频播放完自动点击“取消连播”按钮;如果是视频合集会判断是否为最后分P或关闭了合集“自动连播”,是的话自动退出网页全屏。

如不需要该功能,可将脚本中下面注释的代码放开:

// if (/[a-zA-z]+:\/\/[^\s]*/.test(href)) return;

关于倍速

使用本脚本设置了倍速,再想切换回使用网站自带的倍速设置,需要先还原为正常倍速,不然网站自带的是不起作用的。

相较于 Greasy Fork 上的其他视频倍速播放脚本,本脚本解决了以下问题:

  1. 解决爱奇艺播放一段时间会恢复正常倍速问题。
  2. 对于自动播放且视频在<iframe>中,不需要聚焦到视频元素上也可以设置倍速。
  3. 多视频页面如抖音网页版,切换新视频时,如果鼠标有悬停在视频上方自动应用记忆倍速,没有悬停的话,可以使用*快捷键应用记忆倍速。

本脚本的倍速设置默认是不匹配所有网页的

需要的话可将脚本中的:

// @note        *://*/*

改成:

// @match        *://*/*

或只对特定网站@match,如百度网盘

// @match        *://pan.baidu.com/*

默认倍速步进为±0.25,不满足需求?

// 修改为喜欢的
PLAY_RATE_STEP: 0.25

默认倍速提示时长5秒,觉得太久?

// 修改为喜欢的
SHOW_TOAST_TIME: ONE_SECOND * 5

默认倍速提示处于视频的左下方,可选居中提示。

// 修改为居中提示
SHOW_TOAST_POSITION: positions.center

原理

利用 HTML5 video 对象 playbackRate 属性来设置播放速度,最高16倍播放(浏览器限制)。

页面上没有video标签是无法应用倍速的,如迅雷云盘

网站适配性

本脚本理论上对所有网页,有video标签都能够进行倍速播放。某些网站会限定最高倍速。

其他功能

脚本实现了页面可见性监听,当视频播放标签页不可见时会暂停播放,可见时继续播放。

如不需要该功能的话,把下面的代码注释掉:

this.setupVisibleListener();

自定义快捷键功能

懒得滑动鼠标,想实现对网页上的某个元素通过快捷键点击?

示例

如对B站定义字幕开关(T)快捷键。

配置selectorConfig

const selectorConfig = {
    "www.bilibili.com": {
        subtitle: ".bpx-player-ctrl-subtitle .bpx-common-svg-icon", // 新增的自定义快捷键有效点击元素
    }
}

找到execHotKeyActions方法,在actions中新增:

const actions = {
    T: () => clickElement("subtitle"), // 新增的自定义快捷键,"subtitle"为selectorConfig配置的key值
};

实验性扩展功能

使用 视频网页全屏(改) 脚本时,需要鼠标悬停到视频上方,才可以按esc键进行网页全屏。

使用本脚本可以按P键直接网页全屏,无需滑动鼠标,对某些自动播放页还是有一定的实用性的。不能保证100%有效

使用前需把:

// @note        *://*/*

改成:

// @match        *://*/*

更新历史

  • v 2.2.0

    1. 移除 0 快捷键。
    2. fix: B站直播可见性监听失效问题。
  • v 2.1.0

    1. bug: 移除在@match中的地址鼠标悬停监听,该监听会影响腾讯视频的倍速播放。
    2. fix: 抖音网页版为直播间时也会应用倍速问题。
    3. 新增对 视频网页全屏(改) 的实验性扩展。
  • v 2.0.0

    1. 新增倍速播放功能。
    2. 新增页面可见性监听,当视频播放标签页不可见时会暂停播放,可见时继续播放。
  • v 0.9.9

    1. 解决B站直播不支持全屏切换关闭弹幕快捷键。
  • v 0.9.7

    1. 新增全屏(F)网页全屏(P)下一个视频(N)弹幕开关(D)快捷键。