JavaScriptでアイドル時間を検出する方法 質問する

JavaScriptでアイドル時間を検出する方法 質問する

JavaScript で「アイドル」時間を検出することは可能ですか?

私の主な使用例は、おそらくコンテンツをプリフェッチまたはプリロードすることでしょう。

私はアイドル時間を、ユーザーが何もしていない時間、またはCPUが使用されていない時間と定義しています。

ベストアンサー1

以下は、マウス移動イベントとキー押下イベントを処理する jQuery を使用した簡単なスクリプトです。時間が経過すると、ページが再読み込みされます。

<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>

おすすめ記事