我
数据统计
总安装量
1
近 24 小时
+1
用户评分
-
描述
版本1
评分0
权限说明
企业学习平台视频自动播放与自动跳转下一节的辅助脚本,针对 px.cwec.org.cn 站点
加载中…
// ==UserScript== // @name 瞎写3修改后 // @namespace http://tampermonkey.net/ // @version 1.7 // @description 直接点击.outter播放按钮,修复课程目录乱点,弹窗是继续学习,播完自动下一节 // @author study // @match https://px.cwec.org.cn/course/content/* // @grant none // ==/UserScript==
(function() { 'use strict'; const popupKeywords = ["是,继续学习","是继续学习","确定","继续"]; const nextKeywords = ["下一节","下一课","下一步"];
// 模拟真实鼠标点击
function simulateClick(el) {
if (!el || el.offsetParent === null) return false;
const mouseDown = new MouseEvent('mousedown', {bubbles:true, cancelable:true});
const mouseUp = new MouseEvent('mouseup', {bubbles:true, cancelable:true});
const clickEvt = new MouseEvent('click', {bubbles:true, cancelable:true});
el.dispatchEvent(mouseDown);
el.dispatchEvent(mouseUp);
el.dispatchEvent(clickEvt);
return true;
}
function clickPlayButton(doc){
const outterBox = doc.querySelector(".outter");
if(outterBox){
if(simulateClick(outterBox)){
console.log("✅【直接点击 outter播放按钮】");
}
}
// 保留兜底,兼容页面其他播放器
const playCtrlGlobal = doc.querySelector(".vjs-play-control");
if(playCtrlGlobal){
if(simulateClick(playCtrlGlobal)){
console.log("✅【全局】点击左下角播放按钮");
}
}
const bigPlayGlobal = doc.querySelector(".vjs-big-play-button");
if(bigPlayGlobal){
if(simulateClick(bigPlayGlobal)){
console.log("✅【全局】点击中间大圆播放按钮");
}
}
}
// 绑定视频结束事件
function bindVideoEnd(doc){
const videos = doc.querySelectorAll("video");
videos.forEach(vid=>{
if(vid.dataset.bindEnded) return;
vid.dataset.bindEnded = "1";
vid.addEventListener('ended',()=>{
console.log("📺 当前视频播放结束,等待弹窗");
})
vid.addEventListener('pause',()=>{
clickPlayButton(doc);
})
})
}
// 点击弹窗、下一节按钮
function clickAllButtons(doc){
clickPlayButton(doc);
doc.querySelectorAll('button,div[role="button"],span').forEach(el=>{
const text = (el.innerText||"").trim();
if(!text) return;
if(popupKeywords.some(k=> text.includes(k))){
if(simulateClick(el)){
console.log("✅【弹窗点击】",text);
}
}
if(nextKeywords.some(k=> text.includes(k))){
if(simulateClick(el)){
console.log("✅【点击下一节】",text);
}
}
})
bindVideoEnd(doc);
}
function runTask(){
clickAllButtons(document);
document.querySelectorAll("iframe").forEach(iframe=>{
try{
const iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
clickAllButtons(iframeDoc);
}catch(e){}
})
}
setInterval(runTask,1500);
console.log("✅水企学苑");
})();