自动在视频播放到指定进度时点击"下一个"按钮,并在新视频加载后自动播放
支持倍数播放
let hasShownSetupMessage = false; (function() { 'use strict'; // 配置参数 const config = { buttonClass: 'button ng-scope',// 目标按钮类名 nextButtonText: '下一个',// 下一个按钮的文本内容 triggerPercentage: 80,// 触发操作的播放进度百分比 checkInterval: 1000,// 元素检查间隔(毫秒) actionDelay: 500, // 操作执行延迟(毫秒) playDelay: 1500, // 新视频加载后自动播放的延迟(毫秒) playbackRate: 8.0 //视频播放倍速 }; let videoElement = null; let hasTriggered = false; let observer = null; function handleVideoTransition(newVideo) { return setTimeout(() => { // 查找播放按钮并点击 const playButton = document.querySelector('i.mvp-fonts-play'); if (playButton) { playButton.click(); } else { // 回退方案:直接播放 newVideo.play().catch(console.error); } newVideo.playbackRate = config.playbackRate //更新倍速 setupProgressControl(); }, config.playDelay); }
已加入了倍速的功能,对了你挂脚本之后记得去看一看课程完成情况,他的80%的判定比较奇怪
感觉80%太卡点了,有时候判定不到。此外我测试设置的倍速最大2.0,超过的话观看的部分会被检测为异常。
https://gist.githubusercontent.com/ldm0206/979be212611d4415a612665acd629c2f/raw/fc8f288571ee35bddba9d06d4d69315a128ae502/js
我做了一些修改,加了一个每次播放会把进度拖回0,这样如果需要再次观看某些没有完成的,不会因为观看历史记录被脚本自动跳过了。
支持倍数播放