angularを使用してプロジェクトを作成しています。私のプロジェクトでは、システムがアイドル状態になったときにライブラリ ngIdle を使用しました。タイマー付きのポップアップが表示され、その後、ユーザーはシステムからログアウトします。
ブラウザがスリープ状態になり、タイマーが再開するときの問題です。
https://moribvndvs.github.io/ng2-idle/
コードは次のとおりです。
idle.setIdle(5);
// sets a timeout period of 5 seconds. after 10 seconds of inactivity, the user will be considered timed out.
idle.setTimeout(60);
// sets the default interrupts, in this case, things like clicks, scrolls, touches to the document
idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);
idle.onIdleEnd.subscribe(() => this.idleState = 'No longer idle.');
idle.onTimeout.subscribe(() => {
this.idleState = 'Timed out!';
this.timedOut = true;
});
idle.onIdleStart.subscribe(() => this.idleState = 'You\'ve gone idle!');
idle.onTimeoutWarning.subscribe((countdown) => {
this.idleState = 'You will time out in ' + countdown + ' seconds!'
console.log(this.idleState)
}
);
// sets the ping interval to 15 seconds
keepAlive.interval(15);
keepAlive.onPing.subscribe(() => this.lastPing = new Date());
this.reset();
reset() {
// this.idle.setTimeout(false);
this.idle.watch();
this.idleState = 'Started.';
this.timedOut = false;
}
this.idle.setTimeout(false);
をリセットすると、タイマーが開始されません。