Greasy Fork is available in English.
通用 HTML5 视频工具:自动网页全屏 + 倍速调节 + 下集切换,减少手动操作!让追剧更省心、更沉浸;默认适配哔哩哔哩(含直播)、腾讯视频、优酷视频、爱奇艺、芒果TV、搜狐视频、AcFun弹幕网自动网页全屏;还支持视频旋转、截图、镜像翻转、缩放与移动、记忆播放进度等功能
@match 网站时显示)| 快捷键 | 功能说明 |
|---|---|
| Enter | 全屏 |
| P | 网页全屏 |
| N | 切换下集 |
| Z | 恢复正常倍速 |
| R | 旋转 90° |
| M | 静音切换 |
| D | 弹幕显/隐 |
| L / K | 下一帧 / 上一帧 |
| Ctrl + Z | 复位缩放移动 |
| Shift + R | 水平镜像 |
| Shift + P | 画中画切换 |
| Ctrl + Alt + A | 截图 (默认禁用) |
| Alt + ➕ / ➖ | 缩放 (默认禁用) |
| A / S 或 ➕ / ➖ | 倍速 ±0.25 |
| Alt + ◀️🔼🔽▶️ | 移动画面 (默认禁用) |
| ◀️▶️ | 快退/进 (默认禁用) |
| 空格 | 播放/暂停 (默认禁用) |
| 1️⃣ - 9️⃣ | 1️⃣ - 9️⃣ 倍速 |
| 数字 0️⃣ | 快进 30 秒 |
默认仅对 @match 中指定的网站启用自动网页全屏功能。若无需此功能,可在脚本菜单中禁用(禁用后仍可通过快捷键 P 手动触发网页全屏)。
1. 对所有视频网站生效
将脚本中的:
// @note *://*/*
修改为:
// @match *://*/*
2. 对特定网站生效(以咕咕番为例)
使用 @include 指定单个网站:
// @include *://www.gugu3.com/*
3. 对嵌套框架页生效(如 E 站弹幕网)
若视频在 iframe 框架中播放,需同时匹配主页面和框架页的域名:
// @include *://www.ezdmw.site/Index/video/*
// @include *://player.ezdmw.com/danmuku/*
⚠️ 注意:配置特定网站时须用
@include,而非@match(@match触发的是网站自带的图标,如果配置成@match,还需要在IconsSelector定义相关图标的CSS选择器)。
修改完成后刷新视频页面,在脚本菜单中点击「此站启用自动网页全屏」,视频开始播放时将自动进入网页全屏。
启用自动网页全屏后,该功能会对整个域名下的所有页面生效(例如 YouTube 的首页、短视频页等)。若需排除部分页面,可按以下步骤操作:
https://www.youtube.com/shorts可排除短视频页,不支持模糊匹配,使用的是 startsWith 比对)默认仅对@match配置中指定的网站启用。理论上支持所有含 HTML5 <video> 标签的网页。
1. 对所有网站生效
将脚本中:
// @note *://*/*
修改为:
// @match *://*/*
2. 对特定网站生效(以百度网盘为例)
// @include *://pan.baidu.com/*
如需禁用此功能,可在脚本菜单的「更多设置」中禁用。
脚本默认 @match 的网站,切换下集是点击其相关的图标元素进行切换。对于其他的第三方视频网站,脚本提供了较为通用的切换下集功能。
1. 对所有网站生效
将脚本中的:
// @note *://*/*
修改为:
// @match *://*/*
2. 对特定网站生效(以咕咕番为例)
使用 @include 指定单个网站:
// @include *://www.gugu3.com/*
当网站无法成功切换下集或跳转为不正确的地址时,可通过手动拾取元素完成适配。
若需重新拾取已适配过的网站,需先在脚本菜单中点击
删除此站剧集选择器,清除历史配置。
Ctrl + Alt 键,用鼠标点击当前播放集数的位置(如播放页显示的 “第 1 集”)。获取集数失败,手动编辑文本框中的选择器代码,修改后再次点击「验证」,成功后保存。Ctrl + Alt 键,点击剧集列表(如侧边栏或底部列表)中的任意一集(如 “第 2 集”)。获取集数失败 或验证时显示的集数列表(如数量)有误,手动编辑选择器代码,修改后再次点击「验证」,直至显示正确集数后保存。前面歩骤操作完成后,按键盘 N 键,测试是否能成功正确的切换至下一集。
在该网站上默认拾取到的元素选择器,验证时不能获取到当前播放集数。
原因是:当鼠标移入目标元素时,会动态添加临时 class;而当元素失去焦点后,该 class 会自动移除。由于默认拾取的选择器包含此动态 class,导致无法获取当前播放集数。
解决方法:手动删除动态添加的 class,即可成功匹配目标元素并获取当前播放集数。
在该网站上当前播放的集数在剧集列表中无明确标识(如高亮、特殊样式或独有 class),导致无法通过列表元素直接区分正在播放的集数是哪一个。
虽列表无法识别,但页面顶部标题栏中存在包含当前播放集数的明确文本,第一步拾取,可选取标题栏的集数元素定位当前播放集数。
在该网站上第二步拾取元素并点击「验证」时,提示的集数列表与页面实际显示不一致,通过调整元素选择器的层级结构后,最终成功获取正确数据。
可在以下导航站中的影视动漫网站测试功能:
设置路径:「更多设置」「其他设置」「自定义此站网页全屏规则」
该功能允许您为当前网站设置个性化的全屏显示规则,解决网页全屏时可能出现的各种适配问题,例如:
通过 CSS 选择器来指定网页中需要进行全屏设置的元素
注意:目标元素指当网页切换到 “网页全屏”时,占据整个网页可视区域的核心容器元素,而非点击元素。
打开开发者工具
在网页任意位置右键 → 选择「检查」(或按 F12/Ctrl+Shift+I),打开浏览器开发者工具。
定位元素
part="webFullscreen" 属性,观察网页变化来确认是否为目标元素(添加后该元素会按全屏规则显示,移除后则恢复默认),目标元素可能是当前元素( part="webFullscreen" )的下级元素,也可能是其上级元素或自身,可上下层级逐一验证。复制选择器 在高亮的 HTML 标签上右键 → 选择「Copy」→「Copy selector」,即可获得该元素的 CSS 选择器。
优化选择器,去除干扰部分
复制选择器后(例如得到 body > div.vidmain.__hc > div.player_responsive.__hc),需要检查其中是否干扰项
例:
原复制的选择器为 body > div.vidmain.__hc > div.player_responsive.__hc,其中的 __hc 是只有当鼠标移出时才会存在的干扰项,当鼠标移入后它就会消失,这会导致在全屏时选择器无法成功匹配元素,所以需要将这样的干扰项删除。
剔除动态变化的选择器后,在开发者工具的「Console」面板中输入以下代码,以此测试选择器是否能稳定地匹配到目标元素:
document.querySelector("清理后的选择器"); // 例如 document.querySelector("#player .control-bar")
null:说明选择器太简略,需要适当补充静态特征(如添加稳定的类名,如 .control-bar.main)。| 网站 | CSS 选择器 | 效果说明 |
|---|---|---|
| 抖音(https://www.douyin.com/) | #slidelist > div |
支持滚动切换视频 |
| 虎牙(https://www.huya.com) | #player-wrap |
隐藏底部礼物栏 |
| Lemon Live(https://lemonlive.deno.dev) | #app > main > div > div > div > div:nth-of-type(2) |
保留控制栏和弹幕 |
默认处于禁用状态,需手动开启后使用。
设置路径:「更多设置」→「播放设置」→「启用 空格◀️▶️ 控制」
自定义选项:「更多设置」→「参数设置」→「快进/退秒数」
若播放器自带的快退 / 快进秒数不符合使用习惯(例如默认快进 5 秒,需调整为 10 秒),或希望不聚焦播放器也能操控视频,可通过启用此功能实现。
⚠️ 注意:由于浏览器安全策略限制,视频处于框架页中,需用户手动点击播放后,空格键才能正常控制播放 / 暂停
脚本默认支持 B 站和 AcFun 弹幕网,在视频播放结束后自动退出全屏状态(番剧页面不支持)。对于 B 站,还会自动点击「取消连播」按钮,避免自动播放下一集。
取消连播触发条件:
如需关闭此功能,请在脚本中注释掉以下代码:
App.autoExitWebFullscreen();
默认启用:自动记录视频播放进度,下次打开同一视频时恢复至上次位置。
默认启用:视频标签页切换到后台(不可见)时自动暂停,切回时自动播放。
默认禁用,需手动开启:
设置路径:「更多设置」→「播放设置」→「启用自动切换至下集」
自定义选项:
可配置一键切换的常用倍速,通过Ctrl + 数字触发:
设置路径:「参数设置」→「常用倍速」(多值用英文逗号分隔,例:1.15,1.45,1.75)
1.15,1.45,1.75时,Ctrl+1对应 1.15 倍,Ctrl+3对应 1.75 倍。Ctrl+1至Ctrl+5,修改以下代码可扩展(如支持Ctrl+1至Ctrl+9):// 将6改为10,即可支持Ctrl+1至Ctrl+9
for (let i = 1; i < 6; i++) dict[`CTRL_${i}`] = () => this.setPlaybackRate(Storage.PRESET_SPEED.get()[i - 1]);
默认在全屏模式右上角显示:系统时间、视频剩余时长、进度百分比。
自定义选项: