// ==UserScript== // @name EneteduAssistant-教师网培中心2X速(稳定版) // @namespace http://tampermonkey.net/ // @version 2.2 // @license MIT // @description 助力enetedu自动学习:自动2X倍速、自动调低音量、自动切换下一课程等 // @author beabaed@gmail.com, && OCGT // @match https://onlinenew.enetedu.com/*/MyTrainCourse/ChoiceCourse* // @match https://onlinenew.enetedu.com/gtcfla/MyTrainCourse/OnlineCourse* // @match https://onlinenew.enetedu.com/gtcfla/MyTrainCourse/ChoiceCourse* // @run-at document-end // @grant GM_addStyle // @grant GM_getValue // @grant GM_setValue // @downloadURL https://update.greasyfork.icu/scripts/522675/EneteduAssistant-%E6%95%99%E5%B8%88%E7%BD%91%E5%9F%B9%E4%B8%AD%E5%BF%832X%E9%80%9F%28%E7%A8%B3%E5%AE%9A%E7%89%88%29.user.js // @updateURL https://update.greasyfork.icu/scripts/522675/EneteduAssistant-%E6%95%99%E5%B8%88%E7%BD%91%E5%9F%B9%E4%B8%AD%E5%BF%832X%E9%80%9F%28%E7%A8%B3%E5%AE%9A%E7%89%88%29.meta.js // ==/UserScript== (function () { 'use strict'; // ========== 配置区 ========== const SCRIPT_VERSION = '2.2'; // 更新脚本版本号 const volumeLevel = 0.1; // 音量(10%) const playbackRate = 2.0; // 播放速率(2倍),已为最优 const checkInterval = 2000; // 轮询检测(毫秒) // ========== 初始化状态显示 ========== GM_addStyle(` #eneteduHelperStatus { position: fixed; top: 10px; right: 10px; background: rgba(0, 0, 0, 0.6); color: white; padding: 8px 12px; border-radius: 4px; font-size: 14px; z-index: 999999; } `); let statusDiv = document.createElement('div'); statusDiv.id = 'eneteduHelperStatus'; statusDiv.textContent = `EneteduHelper v${SCRIPT_VERSION}: 脚本初始化...`; document.body.appendChild(statusDiv); // 用于更新状态栏 / 控制台日志 function updateStatus(msg) { if (statusDiv) { statusDiv.textContent = `EneteduHelper v${SCRIPT_VERSION}: ${msg}`; } else { console.log(`EneteduHelper: ${msg}`); } } // 禁用 goPAGE(),避免移动端检测拦截 window.goPAGE = function () {}; // 页面加载完成后执行 window.addEventListener('load', () => { updateStatus('页面加载完成,开始检测 iframe 播放器...'); initIframeMonitor(); }); /** * 轮询监控 iframe,等待播放器(Aliplayer 或