Greasy Fork is available in English.
🐯全网免费仅做一款脚本🐯】、【🚀已完美兼容、智慧树、中国大学mooc、慕课、雨课堂、新国开、超星、学习通、知到、国家开放大学、蓝墨云、职教云、智慧职教、云班课精品课、山东专技、西财在线剩余网站仅支持部分功能🚀】【半兼容、绎通云、U校园、学堂在线】、【😎完美应付测试,全自动答题,一键完成所有资源学习(视频挨个刷时长不存在滴)、视频倍速😎】、
当前为
// ==UserScript==
// @name TOD🚀全平台网课助手【学习通 U校园ai 知到 英华 仓辉 雨课堂 职教云】【学起 青书 柠檬 睿学 慕享 出头科技 慕华】【国开 广开 上海开放大学】等平台 客服微信:WKWK796 自动刷课
// @namespace https://github.com/wkwk796
// @version 2.5
// @description 🐯全网免费仅做一款脚本🐯】、【🚀已完美兼容、智慧树、中国大学mooc、慕课、雨课堂、新国开、超星、学习通、知到、国家开放大学、蓝墨云、职教云、智慧职教、云班课精品课、山东专技、西财在线剩余网站仅支持部分功能🚀】【半兼容、绎通云、U校园、学堂在线】、【😎完美应付测试,全自动答题,一键完成所有资源学习(视频挨个刷时长不存在滴)、视频倍速😎】、
// @author Wkwk796
// @match *://*.chaoxing.com/*
// @match *://*.zhihuishu.com/*
// @match *://*.chaoxing.com/*
// @match *://mooc1.chaoxing.com/nodedetailcontroller/*
// @match *://*.chaoxing.com/mooc-ans/work/doHomeWorkNew*
// @match *://*.chaoxing.com/work/doHomeWorkNew*
// @match *://*.edu.cn/work/doHomeWorkNew*
// @match *://*.asklib.com/*
// @match *://*.chaoxing.com/*
// @match *://*.hlju.edu.cn/*
// @match *://lms.ouchn.cn/*
// @match *://xczxzdbf.moodle.qwbx.ouchn.cn/*
// @match *://tongyi.aliyun.com/qianwen/*
// @match *://chatglm.cn/*
// @match *://*.zhihuishu.com/*
// @match *://course.ougd.cn/*
// @match *://moodle.syxy.ouchn.cn/*
// @match *://moodle.qwbx.ouchn.cn/*
// @match *://elearning.bjou.edu.cn/*
// @match *://whkpc.hnqtyq.cn:5678/*
// @match *://study.ouchn.cn/*
// @match *://www.51xinwei.com/*
// @match *://*.w-ling.cn/*
// @match *://xuexi.jsou.cn/*
// @match *://*.edu-edu.com/*
// @match *://xuexi.jsou.cn/*
// @match *://spoc-exam.icve.com.cn/*
// @match *://*.icve.com.cn/*
// @match *://zice.cnzx.info/*
// @grant unsafeWindow
// @grant GM_xmlhttpRequest
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_info
// @grant GM_addStyle
// @grant unsafeWindow
// @grant none
// @license MIT
// @icon https://static.zhihuishu.com/static/img/favicon.ico
// ==/UserScript==
(function() {
'use strict';
// 创建控制面板
function createControlPanel() {
const panel = document.createElement('div');
panel.style.position = 'fixed';
panel.style.top = '20px';
panel.style.right = '20px';
panel.style.zIndex = '9999';
panel.style.backgroundColor = 'white';
panel.style.padding = '15px';
panel.style.borderRadius = '8px';
panel.style.boxShadow = '0 0 10px rgba(0,0,0,0.3)';
panel.style.fontFamily = 'Arial, sans-serif';
// 面板标题
const title = document.createElement('h3');
title.textContent = '学习通自动播放控制';
title.style.marginTop = '0';
title.style.color = '#333';
// 状态显示
const status = document.createElement('p');
status.id = 'autoPlayStatus';
status.textContent = '状态:未启动';
status.style.color = '#666';
// 启动/停止按钮
const toggleBtn = document.createElement('button');
toggleBtn.textContent = '启动自动播放';
toggleBtn.style.backgroundColor = '#4CAF50';
toggleBtn.style.color = 'white';
toggleBtn.style.border = 'none';
toggleBtn.style.padding = '8px 15px';
toggleBtn.style.borderRadius = '4px';
toggleBtn.style.cursor = 'pointer';
toggleBtn.style.marginRight = '10px';
toggleBtn.addEventListener('click', toggleAutoPlay);
// 联系方式
const contact = document.createElement('p');
contact.textContent = '联系方式:wkwk796';
contact.style.color = '#2c3e50';
contact.style.fontWeight = 'bold';
// 组装面板
panel.appendChild(title);
panel.appendChild(status);
panel.appendChild(toggleBtn);
panel.appendChild(document.createElement('br'));
panel.appendChild(document.createElement('br'));
panel.appendChild(contact);
document.body.appendChild(panel);
}
// 自动播放状态
let isAutoPlaying = false;
// 切换自动播放状态
function toggleAutoPlay() {
isAutoPlaying = !isAutoPlaying;
const statusElem = document.getElementById('autoPlayStatus');
const btn = document.querySelector('button');
if (isAutoPlaying) {
statusElem.textContent = '状态:运行中';
statusElem.style.color = 'green';
btn.textContent = '停止自动播放';
btn.style.backgroundColor = '#f44336';
startAutoPlay();
} else {
statusElem.textContent = '状态:已停止';
statusElem.style.color = 'red';
btn.textContent = '启动自动播放';
btn.style.backgroundColor = '#4CAF50';
}
}
// 开始自动播放逻辑
function startAutoPlay() {
if (!isAutoPlaying) return;
// 查找视频元素
const video = document.querySelector('video');
if (video) {
// 如果视频暂停,播放它
if (video.paused) {
video.play().catch(e => console.log('自动播放失败:', e));
}
// 监听视频结束事件
video.onended = function() {
if (isAutoPlaying) {
// 尝试找到下一节按钮并点击
const nextButtons = document.querySelectorAll('a[title="下一节"]');
if (nextButtons.length > 0) {
nextButtons[0].click();
// 延迟后继续监控新页面
setTimeout(startAutoPlay, 3000);
}
}
};
}
// 检查是否有弹窗需要关闭
checkAndClosePopups();
// 继续监控
setTimeout(startAutoPlay, 1000);
}
// 检查并关闭弹窗
function checkAndClosePopups() {
// 关闭常见的弹窗按钮
const closeButtons = document.querySelectorAll('.popboxes_close, .closeBtn, .el-dialog__headerbtn');
closeButtons.forEach(btn => {
btn.click();
});
// 处理章节测验弹窗
const skipQuizButtons = document.querySelectorAll('button');
skipQuizButtons.forEach(btn => {
if (btn.textContent.includes('跳过') || btn.textContent.includes('以后再说')) {
btn.click();
}
});
}
// 初始化
window.addEventListener('load', function() {
// 页面加载完成后创建控制面板
createControlPanel();
// 检查是否在视频页面,自动尝试播放
setTimeout(() => {
const video = document.querySelector('video');
if (video) {
video.play().catch(e => console.log('页面加载时自动播放失败:', e));
}
}, 2000);
});
// 监听页面变化(适用于单页应用)
const observer = new MutationObserver(function(mutations) {
if (isAutoPlaying) {
startAutoPlay();
}
});
observer.observe(document.body, {
childList: true,
subtree: true
});
})();