2

試してみwindow.onbeforeunloadましたが、うまくいかないようです。何か助けはありますか?

ユーザーがログインしたかどうかを追跡する Cookie があります。

function handleLoginRegSuccess(){
    $.cookie('loginStatus', "ON", { expires: 1, path: '/'});
    showBusyMessage();
    goToIndex();
}

これは私が試したものですが、うまくいきません。

window.onbeforeunload = function(e) {
    if(userLoginStatus()=="ON"){
        requestLogout();
        $.removeCookie('loginStatus');
        return "test";
    }
};
4

1 に答える 1

2

したがって、質問に直接答えるには、 onbeforeunload が実際に機能するために戻り値が必要です。その時点で、その文字列でユーザーにプロンプ​​トが表示され、確認ボックスが表示されます。

このスタックの回答の詳細: How can I override the OnBeforeUnload dialog and replace it with my own?

代わりに考えられるのは、ユーザーをログアウトさせるセッション タイムアウト、または (より積極的に) ログイン状態を維持するクライアントからのハートビート (ajax 経由) を設定することです。ハートビートの起動に失敗すると、ログアウトされます。

ユーザーとのやり取りをまったく試みていない場合は、onunload イベントを使用することもできます (サンプル コードでは行わないようです): http://msdn.microsoft.com/en-us/library/ie /ms536973(v=vs.85).aspx

于 2012-11-07T21:35:33.350 に答える