0

重複の可能性:
ブラウザーのクローズ イベントでログアウト サーブレットを呼び出す方法

ブラウザを閉じたときに、サイトが自動的にユーザーをログアウトするようにします。私はJavaScriptでonunloadを使用しています。今、私の問題は、ユーザーが他のページに移動するたびに常にユーザーをログアウトすることです。私が望むのは、ブラウザが閉じたときにログアウトすることです。

これが私のコードです:

<script type="text/javascript">

window.onbeforeunload = confirmExit;
window.onunload = logout;

function confirmExit() {
    return "Are you sure you want to leave?";
}

function logout() {
    window.location = '<?php echo WEBSITE_URL ?>?logout=true';
}

</script>

誰かが私をできるだけ早く助けてくれることを願っています!

4

2 に答える 2

1

あなたの場合、ユーザーをログアウトにリダイレクトするのではなく、タスクを実行するためにajax リクエストを送信することをお勧めします。

こちらもお送りくださいonbeforeunload

または、ユーザーの最後のアクティビティcookieを追加することをお勧めします。すべてのページの読み込みをチェックし、最後のアクティビティが必要な制限サーバーを超えているかどうかを確認して、セッションをクリアするログインページにリダイレクトします。

于 2012-12-17T09:23:26.177 に答える
0

ウィンドウが閉じられたときにjavascriptで検出することはできないと思います。あなたが知っているように、イベントにはページがアンロードされた理由onunloadに関する情報がありません: ユーザーがウィンドウを閉じるか、別のページに移動した場合。

さらに、ユーザーはアドレス バーに URL を入力して別のページに移動する場合があります。その場合も「ログアウト」する必要があります。

これを実現する最善の方法は、セッションにタイムアウトを設定することです。これは、ブラウザがクラッシュした場合に機能します。

于 2012-12-17T09:23:33.943 に答える