Greasy Fork is available in English.
1.拦截失焦/移出导致的自动暂停;2.保留手动暂停功能;3.自动粉碎包括layui-layer-shade在内的所有遮罩层;4.伪造页面可见状态。
### 🚀 功能特点
本脚本专为解决在线学习平台频繁弹窗、失焦暂停的痛点而设计。
* **智能拦截自停**:底层劫持 `HTMLMediaElement`,自动拦截非用户触发的暂停指令。
* **保留手动控制**:精准识别播放器控制栏点击。点击播放/暂停按钮时,功能完全正常,不影响你想休息时的操作。
* **遮罩全自动清理**:针对 **LayUI** 及其它前端框架生成的“学习已暂停”提示框、黑色半透明遮罩层进行毫秒级扫描并物理移除。
* **状态完美伪装**:锁定浏览器的 `visibilityState`,无论切屏还是最小化,网页始终认为你“正在专心学习”。
* **零配置运行**:即插即用,无需手动设置,适配大多数主流 H5 视频播放器。
### 🛠️ 技术原理
1. **原型链劫持**:通过重写 `HTMLMediaElement.prototype.pause` 过滤暂停请求。
2. **事件溯源**:利用 `e.target.closest` 逻辑,实时判断 `pause` 操作是否源于合法的 UI 交互。
3. **动态巡检**:每 800ms 执行一次 DOM 扫描,强制粉碎 `.layui-layer-shade` 等阻塞性元素。
### ⚠️ 免责声明
1. 本脚本仅供前端技术研究与交流使用。
2. 请在遵守相关法律法规及平台使用协议的前提下使用本脚本。
3. 使用本脚本产生的任何后果(如课程记录异常等)由使用者自行承担。
### ⚖️ 开源协议
MIT License