如何在 JavaScript 中检测空闲时间

新手上路,请多包涵

是否可以在 JavaScript 中检测“ 空闲”时间?

我的主要用例可能是预取或预加载内容。

我将空闲时间定义 为用户不活动或没有任何 CPU 使用的 时间段

原文由 Cherian 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 767
1 个回答

这是一个使用 jQuery 处理 mousemove 和 keypress 事件的简单脚本。如果时间到期,页面将重新加载。

 <script type="text/javascript">
    var idleTime = 0;
    $(document).ready(function () {
        // Increment the idle time counter every minute.
        var idleInterval = setInterval(timerIncrement, 60000); // 1 minute

        // Zero the idle timer on mouse movement.
        $(this).mousemove(function (e) {
            idleTime = 0;
        });
        $(this).keypress(function (e) {
            idleTime = 0;
        });
    });

    function timerIncrement() {
        idleTime = idleTime + 1;
        if (idleTime > 19) { // 20 minutes
            window.location.reload();
        }
    }
</script>

原文由 freddoo 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题