ユーザーが最後の1分以内にクリック、スクロール、またはキーを押したかどうかを確認するjQueryスクリプトを作成しようとしています。その場合、次の間隔(1分)でアラートが表示されます。そうでない場合でも、ページが1時間以内に読み込まれている限り、1分間隔でアラートが表示されます。
これは機能するはずですが、そうではありません。何か案は:
$(function() {
var initialPageLoad = new Date().getTime();
var lastSiteAction = 0;
var checkInterval = setInterval(function(){
if(Date().getTime() - lastSiteAction > 60000){
if(Date().getTime() - initialPageLoad > 3601000){
clearInterval(checkInterval);
}else{
alert('Tried to checkin! You have not done anything in the last minute.');
}
}else{
alert('Tried to checkin! You have done something in the last minute.')
}
}, 60000); // 1 mins * 60 * 1000
$(document).keydown(function(){
lastSiteAction = new Date().getTime();
});
$(document).scroll(function(){
lastSiteAction = new Date().getTime();
});
$(document).mousedown(function(){
lastSiteAction = new Date().getTime();
});
alert('loaded!');
});