2016-12-29 10 views
1

私は自分のウェブページにいくつかのチェックボックスを設けており、このページはデータの一貫性の問題で1分ごとに更新する必要があります。別のページに移動するときにsessionStorageをクリアするにはどうすればいいですか?

私はwindow.sessionStoageを使用して、ユーザーがページの更新時に既にチェックされているボックスを失わないようにチェックされたチェックボックスを維持します。

しかし、ユーザーがそのページから移動するとき、私はsessionStorageをクリアする(必ずしも私のウェブサイトを残していないは、同じウェブサイト上の別のページに行くかもしれない)、そして同じのために私はonunloadイベントを使用している場合リフレッシュの場合にもストレージはクリアされます。

これを達成するのに役立つ他のイベントや回避策はありますか?

+0

セッションまたはローカルストレージを使用して、ページの上部に変数を設定して、このページが同じページであるかどうかを判断できます。そして、そうでない場合、セッションをクリアします。 –

答えて

0

あなたの特定のケースでは、ウィンドウイベントが便利です。だからあなたは、ぼかしとフォーカスのイベントに反応することができるので、ブラウザのタブを残すとblurイベントが発生します。

$(window).blur(function(){ 
    //clear session 
}); 

$(window).focus(function(){ 
    //maybe some code to re-init session data 
}); 
+0

質問を編集しましたが、ユーザーは同じWebサイトの別のページに移動している可能性があります。 –

0

あなたはページ名がのsessionStorageに名前と等しい場合のsessionStorageと、ページのチェックのそれぞれのinitにあなたの中に、現在のページのパス/名前を保存しようとするかもしれません。そうでなければ、それをクリアすることができます。

関連する問題