0

ユーザーがボタンをクリックするとアクティブになるタイマーがあると仮定すると、ユーザーがブラウザーを閉じる前にデータ (現在のタイマーの状態とデータ) を保存し、ユーザーが同じページにアクセスした後にタイマーを再開するには、経過時間を考慮してください。 2 つのセッションの間の時間。

私の開発は ASP.NET MVC4 に基づいており、主に ajax 呼び出しを使用してユーザー インタラクションを処理しています。

サーバー側のコードを介してこの相互作用と要件を制御できる方法があるかどうかを検討していますが、これについては懐疑的です。

あなたの考えは?

4

3 に答える 3

1

クッキーを使用することで、クライアント側で完全に行うことができます。

フローは次のとおりです。

  1. クリックイベントハンドラーでタイマーを作成します
  2. ブラウザーのクローズ イベントのイベント ハンドラーを追加します (ブラウザーのクローズ イベントをキャプチャする方法はこちらをご覧ください) 。
  3. ブラウザのクローズイベントハンドラーでタイマーの残り時間を取得します(ここで、 setTimeout()? で残り時間を見つける手順を見つけることができます)
  4. その情報でクッキーを書く
  5. ページの読み込み時に、残り時間情報を含む Cookie があるかどうかを確認し、setTimeout を使用して残り時間でタイマーを再作成します

この投稿をできるだけ早く更新して、コード例を増やしていきます。

アップデート

var timeLeft= $.cookies('timeLeft') || ORIGINAL_VALUE;
var timer = setTimeout(myFunc, timeLeft);
$(window).unload(function(){
  var timeLeftToSave = getTimeLeft(timer);
  $.cookies('timeLeft', timeLeftToSave, { path: '/' });
})

//Use code from the second link here
function getTimeLeft(timer){

}



function myFunc(){/*YOUR CODE HERE*/}
于 2013-08-20T09:16:34.397 に答える