2016-04-20 9 views
-1

私のウェブサイトがロードされるときに、ローカルストレージに変数を設定しています。今私はこの変数を削除するには、私のウェブサイトのすべてのタブが閉じられた後にしてください。特定のサイトのすべてのタブを確認する方法は閉じています

たとえば、ホームページを1つのタブで開くと、その時点で変数をローカルストレージに設定します。その後、別のタブで製品の詳細を開きます。今回は、変数が既に設定されているため、変数を再度設定する必要はありません。すべてのタブ(ホームページ、製品の詳細ページ)を閉じると、変数だけがローカルストレージから削除されます。

私は試すことができるアプローチはありますか?提案してください。

+0

お試しください –

答えて

0

私の考えは、ongletがオープンするたびにlocalStorageの整数を増やすことです。値が1に戻るとすべてが近づいています

0

単純な答え、できません。または、より正確なHTTPはステートレスなプロトコルです。つまり、ユーザーがブラウザタブを閉じたかどうか、または単に何もしないで座っているかどうかは分かりません。

のトリックがありますが、ユーザーが開いているタブの数を特定できます。 1つの例は、ユーザのローカルストレージに格納されたタブカウンタを維持し、各ページのロード時にインクリメントし、ページアンロード時にタブカウンタを減少させることです(@martin karlなど)。

Jquery unloadイベントを使用して、ユーザーが自分のタブを閉じるタイミングを検出できます。 Jquery 1.8以降では非推奨です。

今度はbeforeunloadイベントを使用できます。