2011-12-03 13 views
7

Webアプリケーションを開発しています。アプリケーションの「タブ」を閉じるか、ユーザーがブラウザを閉じるときにのみ、ユーザーをログアウトします。アプリケーションのすべてのタブが閉じているかどうかを検出します。

誰でもそれを行う方法を知っていますか?

+1

これは前に来ている、と唯一の現実的な方法は、おそらく1に信号を送る 'onunload'が閉じていると、定期的に開いており、「バックpingする」どのように多くの追跡することです。あなたはJavascriptで実際のタブ自体を検出することはできません。 Javascriptでタブにアクセスすることはできません。ブラウザからのpingを使用すると、セッションタイムアウトのような攻撃的な(1〜3分のタイムアウトなど)セッションをアクティブに保つことができます。 –

+0

こちらをご覧ください:http://stackoverflow.com/questions/1921941/close-kill-the-session-when-the-browser-or-tab-isclosed – Devnook

答えて

0

ここで答えを試してください:Javascript Communication Between Browser Tabs/Windowsこれを行うための通常の方法はクッキーです。それらを "onunload"イベントと組み合わせれば、必要なものを達成できるはずです。

ログインクッキーを「セッション」として設定するのは簡単ですが、ライフタイムを0に設定すると、これは簡単になります。これは、使用したほとんどのブラウザのタブで共有され、ウィンドウが閉じると消去されます。 Webサイトのすべてのタブが閉じられているときではなく、ウィンドウが閉じられていない限り、Internet ExplorerはセッションCookieを消去しない傾向があります。

関連する問題