2017-07-12 20 views
0

私はブラウザのlocalStorageにユーザデータを格納するアプリケーションを持っています。したがって、ユーザーはブラウザのタブとウィンドウ全体でこれらのデータを取得することができます。しかし、私がしたいのは、ユーザがブラウザウィンドウを閉じるときにlocalStorageをクリアすることです。ブラウザのタブが閉じているかブラウザのウィンドウがJavaScriptかどうかを検出するには

これを達成するために私はbeforeunload関数を使用しましたが、それはタブでもトリガされます。

ブラウザのタブが閉じているかブラウザのウィンドウかを検出する方法がある場合は、私を助けてください。

PS:ブラウザのタブクローズ時に破棄されるため、sessionStorageは使用できません。

+0

AFAIKではゲームがありません。ウェブを検索すると、あなたが探索できる複数のアイデアが提供されます。 –

答えて

1

ブラウザでセッションストレージを使用します。
ここでは、ブラウザのタブ終了イベントをキャプチャしません。セッションストレージのデータは、開いたタブ

if (sessionStorage.clickcount) { 
    sessionStorage.clickcount = Number(sessionStorage.clickcount) + 1; 
} else { 
    sessionStorage.clickcount = 1; 
} 
document.getElementById("result").innerHTML = "You have clicked the button " + 
sessionStorage.clickcount + " time(s) in this session."; 

のセッションのために、私はこれがあなた

助ける Here

のみクリアブラウザ近い

localStorage.removeItem(key); 

希望から、それらのコード例をつかむ持続します

+0

ブラウザウィンドウのデータをクリアするには、タブを閉じる必要はありません。だから、もし私がsessionStorageを使用すると、それはまた、私はやりたくないタブを閉じるでしょう。 – Rinkesh

+0

あなたの質問では、 "ブラウザのタブが閉じているかブラウザのウィンドウか"という言い方をしています。私は私の答えを編集します。お詫び申し上げます。ご了承ください。 –

+0

私はちょうどそれがユーザーによって閉じられたブラウザのタブかブラウザのウィンドウであるかどうか検出したいと思った。ブラウザウィンドウの場合はlocalstorageをクリアし、それ以外の場合はそれを保持します。だから、私はその意思決定ポイントのタブやウィンドウのための方法を確立していない。ありがとう – Rinkesh

関連する問題