2016-09-06 24 views
2

localStorageを使用してタブ間でデータを共有しています。ユーザーがタブ/ブラウザを閉じるたびにlocalStorageをクリアする必要があります。私はそれを達成することができますが、ユーザーが直接システムをシャットダウンするか、システムを強制的にシャットダウンしてからlocalStorageがクリアされない場合です。これにはどんな解決策も提案してください。システムシャットダウン時にlocalStorageがクリアされない

私はタブ間でデータを共有したいので、sessionStorageではなくlocalStorageを使用しています。

+0

基本的には、ユーザーがサイトを離れるときにイベントを取得して処理することに依存することはできません。頻繁に 'beforeunload'を取得しますが、保証されません。だからあなたはそれをコードする必要があります。 –

答えて

1

基本的には、ユーザーがサイトを離れるときにイベントを取得して処理することに依存することはできません。頻繁にbeforeunloadが届きますが、保証されません。だからあなたはそれをコードする必要があります。あなたはむしろlocalStorageよりsessionStorageを使用するように

ユーザーがタブ/ブラウザを閉じたときに、私はのlocalStorageをクリアする必要が

が鳴ります。いいえ、sessionStorageはタブ間で共有されていないようです。私はそう思っていた。

何らかの理由で、私はあなたの店で「最後に使用された」タイムスタンプのいくつかの種類を保存することをお勧めしたいsessionStorage代わりのlocalStorageを使用できない場合は、それはあまりにも古いかどうあなたのページ次のロード、クリアその時点のデータ

+0

ありがとうクラウダー。タイムスタンプの問題は、ユーザーがアプリケーションにログインしてシステムをシャットダウンし、システムが起動するとすぐにログインしようとするとタイムスタンプが古すぎないことです。 –

+0

@VishalGulati:それは本当ですが、本当に重要ですか?そのシナリオでは、彼らはクラッシュや何かを扱っているように聞こえて、とにかくどこで中止したのか分かりたいのですか? –

+0

@Crowder:いいえ、私はそれをチェックしません。シャットダウンと再起動には3〜5分かかります。私はこれだけの無活動の時間のための明確なデータを傾けることはできません。 –

0

データを消去したい場合、セッション記憶域がさらに役立ちます。セッション記憶域オブジェクトにデータを置くことができ、そのウィンドウ(またはタブ)が開いている間はそのデータが保持されます。

+1

私はタブ間でデータを共有する必要があります。sessionStorageが範囲外です..とにかくありがとうございます。 –

1

sessionStorage、localStorageおよびCookiesはすべてクライアント側にデータを格納するために使用されます。それぞれに独自のストレージと有効期限があります。 sessionStorage:localStorageに似ていますが、ブラウザが閉じたときに期限切れになります(タブではありません)。 Cookie:後続のリクエストでサーバーに返さなければならないデータを保管します。

+1

私はタブ間でデータを共有する必要があります。 sessionStorageが範囲外です..とにかくありがとうございます。 –

関連する問題