基本的に、ユーザーが何もしなかった場合、画面をロックしたかった。そのユーザーが一定期間何もしなかったことを検出する方法。私が検索すべき用語は何でしょうか?ユーザーが何もJavaScriptを何もしなかったから
0
A
答えて
0
ロック画面とは...ユーザーがウェブサイトからログアウトし、ユーザー名&パスワードで昇格するということですか?一定の時間の後に?
これはまっすぐに見えます。クッキーの有効期限を、ログイン状態にあると見なすことができる最大数分に設定してください。だから期限切れ後?ユーザーがインタラクションすると、ログイン画面に移動します。
別の解決策:
あなたはJavascriptの変数の最後のユーザインタラクションのタイミングを保存してから、最後の相互作用と現在時刻との時間差を計算するのsetIntervalメソッドで別のメソッドを実行することができます値が大きければ...自動リダイレクト限界よりも。
0
あなたの体にいくつかのイベント(mouseover、mousemove、keydown、scrollなど)をバインドします。したがって、ユーザーが何かをしている場合、イベントがトリガーされます。イベントがトリガーされると、現在の時刻でフラグが更新され、5秒ごとにリッスンするwebworkerを構成します(またはsetInterval()メソッドを使用できます)。 5秒ごとに、コールバック関数はユーザが最後に何をしたかをチェックします。タイムアウト時間を超えている場合は、スクリーンロックなどの操作を行います。
0
Date
を使用して特定の時点をマークし、それをタイマーとして使用することができます。
addEventListener
を使用して、タイマーをリセットするイベントをリスンすることができます。
最後に、interval
を設定して、最後のユーザー操作のDate
との違いをテストできます。
//https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
var lastAction = new Date();
var lastActionInterval = setInterval(function(){
\t //if more than 5 seconds (5000 milliseconds)
\t if(new Date() - lastAction > 5 * 1000) {
\t \t //Act on timeout
\t \t alert("timeout!");
\t \t //Stop checking
\t \t clearInterval(lastActionInterval);
\t }
},1000); //Checks every second (1000 milliseconds)
function userDidSomething(){
\t lastAction = new Date();
}
//bind mousemove and keydown actions to reset our timer
window.addEventListener("mousemove", userDidSomething, false);
window.addEventListener("keydown", userDidSomething, false);
EDIT 1
簡単な方法は、setTimeout
を使用し、単にユーザのアクションにそれをリセットすることであろう。
//https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
var userActionHandle;
function userDidSomething() {
\t clearTimeout(userActionHandle);
\t userActionHandle = setTimeout(function() {
\t \t \t alert("5 seconds of inactivity");
\t \t }, 5000);
}
window.addEventListener("mousemove", userDidSomething, false);
window.addEventListener("keydown", userDidSomething, false);
//Start timeout
userDidSomething();
関連する問題
- 1. 何もクリックされなかった - PHP
- 2. Physics2D.Raycastが何も見つからない
- 3. なぜSystem.Randomは '1'に何度も何度も何度も何度も何度も何度も何度も何度も何度も何度も何度も繰り返していますか?
- 4. Python GTK Image、Change Image何度も何度も何度も何度も画像が得られない
- 5. create index return "何も起こらなかった"
- 6. javascriptのaddEventListenerが何もしないのはなぜですか?
- 7. Firebaseトランザクションは何度も何度も戻ってきますか?
- 8. 私のstyle.cssファイルを変更しました - 何も起こらなかった
- 9. JavaからTDBを検索しても何も返さない
- 10. facebook javascript apiが何も返さない
- 11. 何度も何度も何度も何度もイベントを実行します。
- 12. 特定のコマンドを何度も何度も何度も何度も繰り返しますか?
- 13. Grailsは:HTTPBuilder、何も変わっていないはずです何かをアップグレードしなかった突然
- 14. なぜ私のtableViewに何も表示されなかった
- 15. スクリーンセーバーロード画像、ユーザーは何も
- 16. しかし、私はもっと何かが必要、
- 17. 通知が何度も何度も
- 18. python 3.5:if文がtrueと評価され、何もしない場合でも、何かをしても
- 19. 何もしない最もエレガントなラムダ式(アクション)は何ですか?
- 20. 間違ったユーザー名を入力しても何も起こりません。私のコードで何が間違っていますか?
- 21. 何度も何度も...ポインタ
- 22. 何かをやっていなくても、何かをやっていなくても何かをやり遂げる方法
- 23. コマンドラインプロセスが標準入力から何も受信しない
- 24. javascriptのArray.splice()は何も
- 25. HttpClient:apiが何も返さないときに何かをする
- 26. あなたは何が起こるか説明してもらえますか
- 27. asp.net mvcは何回もループした後、何もしません。
- 28. MSYS make.exeコマンドは何もしません( "何もしない...")
- 29. ontouchは何もしませんAction_upで何もしない
- 30. TDDとサービス(何が何かを返しますが何も返しません)
[Webworkers](http://caniuse.com/#feat=webworkers)は、この機能のために難しく、過度に機能し、IE 11と互換性がありません。それ以外は、健全な戦略です。 –
その後、setIntervalはjavascriptにあり、x時間間隔ごとにチェックインして同じことを行います。 – SambitD