如何确保用户在计算机进入睡眠状态时使用 Web Worker 注销

问题描述 投票:0回答:1

我正在使用 Web Worker 设置 setTimeout,该超时会在用户不活动 10 分钟后自动注销。但是,我遇到了一个问题,如果用户的计算机进入睡眠状态,包括 Web Worker 在内的所有进程都会停止运行。这意味着即使会话应该已过期,用户在计算机唤醒时仍保持登录状态。

有没有办法确保即使计算机进入睡眠状态并稍后唤醒,用户也可以注销?我该如何有效地处理这种情况?

任何建议或解决方案将不胜感激!

javascript reactjs settimeout web-worker thread-sleep
1个回答
0
投票

如果时间超过10分钟,记录用户离开网络并注销的时间如何?

let blurTime;

window.onblur = function() {
    blurTime = Date.now();
};

window.onfocus = function() {
    const focusTime = Date.now();
    const timeDifference = focusTime - blurTime;

    // 600,000 milliseconds equals 10 minutes
    if (timeDifference > 600000) {
        // Log out the user if more than 10 minutes have passed
        logoutUser();
    }
};

© www.soinside.com 2019 - 2024. All rights reserved.