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>