Greasy Fork

Greasy Fork is available in English.

大众云学|继续教育脚本|yxlearning|山东|职称|自动学习

智能续播 (强化) + 自动跳题/答题屏蔽 + 静音 + 控制台日志,根据mumu+AI 1.0 使用Gemini改进。

当前为 2025-07-17 提交的版本,查看 最新版本

作者
y Re
评分
0 0 0
版本
2.3.2
创建于
2025-07-10
更新于
2025-07-17
大小
33.3 KB
许可证
MIT
适用于

这是一个 Greasemonkey/Tampermonkey 用户脚本,用于自动化 `yxlearning.com` 网站上的在线学习过程。它旨在帮助用户自动播放视频、跳过答题和广告,并模拟用户活跃度,以确保学习进度不中断。

以下是脚本的主要功能和技术细节:

**脚本信息:**

* **名称:** 大众云学|继续教育脚本|yxlearning|山东|职称|自动学习
* **描述:** 智能续播 (强化) + 自动跳题/答题屏蔽 + 静音 + 控制台日志,根据 mumu+AI 1.0 使用 Gemini 改进。
* **作者:** 根据mumu+AI 1.0 改进版本,by Yang (改进版)
* **匹配域名:** `*.zyk.yxlearning.com/learning/index?*` 和 `*.gxk.yxlearning.com/learning/index?*`
* **运行时间:** `document-start` (在页面加载之初运行,以尽早注入 CSS 和监听事件)
* **许可证:** MIT

**主要功能点:**

1. **早期 CSS 隐藏:**
* 在页面加载初期通过注入 CSS 规则,隐藏特定域名(`sddz.gxk.yxlearning.com` 和 `sddz.zyk.yxlearning.com`)上的广告、答题弹窗、遮罩层等元素。这有助于防止这些元素在脚本完全加载前闪现或干扰。
* 隐藏的元素包括:`.bplayer-question-wrap`, `.question-modal-container`, `.pv-ask-modal-wrap`, `.ad-container`, `.popup-wrapper`, `.pv-mask`, `.layer-dialog`。
* 还尝试解决弹窗导致的背景滚动问题,通过 `overflow: hidden !important;` 样式。

2. **模拟自然点击事件 (`simulateNaturalClick`):**
* 这个核心函数用于模拟用户真实的鼠标点击行为,包括 `mousedown`, `mouseup`, `click` 事件。
* 它会计算元素的中心坐标进行点击,并检查元素是否在视口内且有实际大小,以提高点击的成功率。

3. **模拟鼠标移动 (`simulateMouseMove`):**
* 定期在视频播放器区域内模拟小范围的鼠标移动。
* 这有助于模拟用户活跃度,防止网站因长时间无操作而暂停视频或弹出验证。

4. **模拟点击播放区域 (`simulateClickPlayArea`):**
* 在脚本启动时和切换视频后,尝试模拟点击视频播放器区域。
* 这旨在绕过浏览器或网站可能设置的自动播放限制,确保视频能够顺利开始播放。

5. **自动播放下一视频 (`clickNextVideo`):**
* 定期检查当前视频的播放进度(通过 `.badge` 或 `.status-tag` 元素的文本,如 "100%")。
* 如果当前视频已完成,则查找并模拟点击列表中的下一个视频项 (`li.videoLi.active` 或 `.course-list-item.active`),以实现自动连播。
* 点击下一集后,会重置智能续播的状态,并立即尝试点击播放区域。

6. **智能续播 (`tryAutoResume`):**
* 定期检查视频是否处于暂停状态。
* 如果视频暂停,它会尝试模拟点击播放/暂停按钮(如 `#play`, `.pv-playpause.pv-icon-btn-play`, `.bplayer-playpause.bplayer-btn-play`)。
* 如果找不到明确的播放按钮,它会尝试模拟按下空格键,因为空格键通常用于控制视频播放/暂停。
* 通过 `hasUserPlayed` 变量跟踪用户是否手动播放过视频,以及 `retryCount` 进行重试。

7. **监听视频播放状态 (`watchFirstPlay`):**
* 通过监听 `