onunloadイベントにログアウトコードを追加します。
window.onunload = function() {
//logout code here...
}
JQueryでは、.unload()関数を使用できます。あまり時間がないので、Ajaxリクエストを送るかもしれないが、その結果がクライアントに届かないかもしれないことを忘れないでください。
別のトリックは小さな新しいウィンドウを開いてログアウトを処理することです。
window.onbeforeunload = function(event) {
//if you return anything but null, it will warn the user.
//optionally you can return a string which most browsers show to the user as the warning message.
return true;
}
もう一つのトリックはクライアントに数秒ごとにpingを維持することです:あなたは(あるいは少なくともユーザーに警告)ウィンドウを閉じる無効にしたい場合は
window.open("logout url","log out","height=10,width=10,location=no,menubar=no,status=no,titlebar=no,toolbar=no",true);
は、あなたがこのコードを使用することができます。返信が返ってこない場合は、ユーザーがウィンドウを閉じたか、ブラウザがクラッシュしたか、またはチャットセッションを終了したネットワークの問題があると想定します。クライアント側では、このpingパッケージが届かない場合は、ネットワーク接続またはサーバーに問題があると想定でき、ログアウト警告を表示できます(オプションでユーザーに再度ログインさせることもできます)。
これは、http://stackoverflow.com/a/13916847/2968762に役立ちます。 'localStorage'の代わりに[store.js](https://github.com/marcuswestin/store.js/)を使うことがあります。 – Abhi
ありがとうございました。私はこれらのステップを実行する必要があると思います。また、「閉じるタブやブラウザ」を扱う特別なイベントがあると思っていました。 @Abhi – waterkinq