这个脚本会每 5 秒检查一次你的活动状态,如果检测到你 20 秒内没有移动鼠标或按键,就会自动模拟一个微小的鼠标移动,从而避免触发网站的不活动检测。
使用方法
本地导入:
点击上方连接下载源代码.js文件,在油猴“实用工具”中“导入”,“选择文件”。
自己创建脚本:
复制下面的源代码,自己创建脚本,粘贴。
—-2025/5/30 测试有效
Greasy Fork:
源代码
// ==UserScript==
// @name BJFU智慧课堂防暂停助手
// @namespace http://www.cmd137blog.top/
// @version 0.1
// @description 自动检测并模拟鼠标活动,防止视频因长时间不动而暂停
// @author CMD137
// @match *://bjfu.smartclass.cn/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
// 配置参数
const CHECK_INTERVAL = 5000; // 每5秒检查一次
const INACTIVITY_THRESHOLD = 20000; // 20秒无活动视为不活跃
const SIMULATION_MOVEMENT = 1; // 模拟移动的像素值
let lastActivityTime = Date.now();
let isSimulating = false;
let lastMouseX = 0;
let lastMouseY = 0;
// 记录鼠标活动
document.addEventListener('mousemove', function(e) {
lastActivityTime = Date.now();
lastMouseX = e.clientX;
lastMouseY = e.clientY;
isSimulating = false;
});
document.addEventListener('keydown', function() {
lastActivityTime = Date.now();
isSimulating = false;
});
// 检测并模拟活动
setInterval(function() {
const now = Date.now();
const inactiveTime = now - lastActivityTime;
if (inactiveTime >= INACTIVITY_THRESHOLD && !isSimulating) {
simulateActivity();
}
}, CHECK_INTERVAL);
// 模拟鼠标活动
function simulateActivity() {
isSimulating = true;
// 微小移动鼠标
const moveEvent = new MouseEvent('mousemove', {
clientX: lastMouseX + SIMULATION_MOVEMENT,
clientY: lastMouseY + SIMULATION_MOVEMENT,
bubbles: true,
cancelable: true,
view: window
});
document.dispatchEvent(moveEvent);
// 记录模拟活动时间
lastActivityTime = Date.now();
lastMouseX += SIMULATION_MOVEMENT;
lastMouseY += SIMULATION_MOVEMENT;
console.log('模拟鼠标活动,防止视频暂停');
//alert("test....");
}
})();