js如何实现电脑不待机
防止电脑待机的 JavaScript 方法
使用 JavaScript 可以通过以下方式防止电脑进入待机状态。这些方法主要依赖于保持系统活动或模拟用户交互。
使用 requestWakeLock API
现代浏览器支持 requestWakeLock API,允许网页请求系统保持屏幕或 CPU 唤醒状态。
let wakeLock = null;
async function requestWakeLock() {
try {
wakeLock = await navigator.wakeLock.request('screen');
console.log('Wake Lock is active');
} catch (err) {
console.error(`${err.name}, ${err.message}`);
}
}
// 调用函数以激活 Wake Lock
requestWakeLock();
// 释放 Wake Lock
function releaseWakeLock() {
if (wakeLock !== null) {
wakeLock.release().then(() => {
wakeLock = null;
});
}
}
模拟用户活动
通过定期触发微小鼠标移动或键盘事件,可以模拟用户活动以防止待机。
function simulateActivity() {
window.addEventListener('mousemove', () => {
// 空函数,仅用于触发事件
});
setInterval(() => {
window.dispatchEvent(new Event('mousemove'));
}, 60000); // 每分钟触发一次
}
simulateActivity();
播放无声视频
播放无声视频可以阻止系统进入待机状态,因为浏览器会认为有媒体正在播放。
function playSilentVideo() {
const video = document.createElement('video');
video.src = 'data:video/mp4;base64,AAAA...'; // 使用极短的无视频
video.loop = true;
video.play().catch(e => console.error(e));
}
playSilentVideo();
使用 Web Workers 保持 CPU 活动
通过 Web Workers 运行后台任务,可以保持 CPU 活跃。
const worker = new Worker('data:text/javascript,setInterval(() => {}, 1000);');
注意事项
requestWakeLock需要 HTTPS 环境且用户授予权限。- 模拟用户活动可能影响用户体验或电池寿命。
- 播放视频或使用 Web Workers 可能增加资源消耗。
选择适合场景的方法,并确保符合用户体验和性能要求。







