Greasy Fork is available in English.
🐯全网免费仅做一款脚本🐯】、【🚀已完美兼容、智慧树、中国大学mooc、慕课、雨课堂、新国开、超星、学习通、知到、国家开放大学、蓝墨云、职教云、智慧职教、云班课精品课、山东专技、西财在线剩余网站仅支持部分功能🚀】【半兼容、绎通云、U校园、学堂在线】、【😎完美应付测试,全自动答题,一键完成所有资源学习(视频挨个刷时长不存在滴)、视频倍速😎】、
当前为
// ==UserScript==
// @name TOD🚀全平台网课助手【学习通 U校园ai 知到 英华 仓辉 雨课堂 职教云】【学起 青书 柠檬 睿学 慕享 出头科技 慕华】【国开 广开 上海开放大学】等平台 客服微信:WKWK796 自动刷课
// @namespace https://github.com/wkwk796
// @version 2.5.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.cssText = `
position: fixed;
bottom: 20px;
right: 20px;
background: rgba(0,0,0,0.7);
color: white;
padding: 10px 15px;
border-radius: 5px;
z-index: 99999;
font-family: Arial, sans-serif;
font-size: 14px;
box-shadow: 0 2px 10px rgba(0,0,0,0.3);
`;
// 添加标题
const title = document.createElement('div');
title.style.fontWeight = 'bold';
title.style.marginBottom = '5px';
title.textContent = '学习通助手';
panel.appendChild(title);
// 添加状态信息
const status = document.createElement('div');
status.id = 'autoPlayStatus';
status.textContent = '等待视频加载...';
status.style.marginBottom = '5px';
panel.appendChild(status);
// 添加联系方式
const contact = document.createElement('div');
contact.style.fontSize = '12px';
contact.style.color = '#ccc';
contact.textContent = '联系方式: wkwk796';
panel.appendChild(contact);
document.body.appendChild(panel);
}
// 更新状态信息
function updateStatus(text) {
const statusEl = document.getElementById('autoPlayStatus');
if (statusEl) {
statusEl.textContent = text;
}
}
// 处理视频自动播放和静音
function handleVideo() {
// 查找视频元素
const videoElements = document.getElementsByTagName('video');
if (videoElements.length > 0) {
const video = videoElements[0];
// 静音
if (!video.muted) {
video.muted = true;
updateStatus('已静音');
}
// 自动播放
if (video.paused) {
video.play().then(() => {
updateStatus('已自动播放');
}).catch(err => {
updateStatus('播放请求被阻止,尝试解决...');
// 有些情况下需要用户交互才能播放,尝试模拟点击
setTimeout(() => {
video.click();
setTimeout(() => {
if (!video.paused) {
updateStatus('已通过交互播放');
} else {
updateStatus('需要手动点击播放');
}
}, 1000);
}, 1000);
});
} else {
updateStatus('视频正在播放');
}
// 监听视频结束事件,尝试播放下一个
video.addEventListener('ended', () => {
updateStatus('视频已结束,尝试下一个...');
// 尝试点击下一节按钮
const nextButtons = document.querySelectorAll('button:not([disabled]) span:contains("下一节")');
if (nextButtons.length > 0) {
nextButtons[0].parentElement.click();
setTimeout(handleVideo, 3000); // 3秒后再次检查视频
}
});
}
}
// 周期性检查视频
function startMonitoring() {
createControlPanel();
// 立即检查一次
handleVideo();
// 每5秒检查一次
setInterval(handleVideo, 5000);
}
// 页面加载完成后启动
window.addEventListener('load', startMonitoring);
})();