1

このコードを使用して、15 分後に自動ログアウトしようとしました。しかし、これは正しく機能しません。コンプを 15 分間放置しましたが、何も起こりませんでした。ログインしたままです。

しかし、一方で、私がより短い時間を試してみると、5秒の例では完璧に動作します.5秒後にログオフしました.

問題/バグはどこにあるのかわかりません。

var int=self.setInterval(setLastAction,1000);

function setLastAction(){
    var lastAction = new Date();    
    var baz = new Date();
    baz.setTime(lastAction.getTime() - firstAction.getTime());
    baz = baz.getSeconds();

    if(baz >= (15*60)){
         logOut();      
    }
}

$(document).mousemove(function(){
    firstAction = new Date();
});
4

1 に答える 1

5

Dateを使用してオブジェクトから秒を取得していますgetSeconds()。これは常に0~ の間の整数を返し59ます。Date新しいオブジェクトを作成する代わりに、時間の差を比較します。

var secondsBetween = (lastAction.getTime() - firstAction.getTime()) / 1000;
if (secondsBetween >= (15 * 60)) {
     logOut();      
}
于 2012-09-03T08:57:49.327 に答える