1

私のアプリケーションでは、onbeforeunload() でログアウト関数を呼び出す必要があるため、以下のコードを実行しました。

window.onbeforunload = function(){
bodyWidth = window.document.body.offsetWidth;
bodyHeight = window.document.body.offsetHeight
mouseX = window.event.clientX;
mouseY = window.event.clientY;
    if((mouseX<0) || (mouseY<0) || (mouseX > bodyWidth)  || (mouseY > bodyHeight)){
        logout();
    }
}

(X)IEでボタンを押してウィンドウを閉じるとうまくいきます。

しかし、ATL+を押してIEウィンドウを閉じた場合、F4これは機能しませんでした。関数を実行する前にlogout()、ブラウザが閉じられます。

の適切な使用について誰か助けてくれませんかwindow.onbeforunload

以下の機能を試してみましたが、うまくいきませんでした

logout=true;
window.onbeforeunload = bfunload;
window.onunload = unloadPage;
function bfunload(){
bodyWidth = window.document.body.offsetWidth;
bodyHeight = window.document.body.offsetHeight
mouseX = window.event.clientX;
mouseY = window.event.clientY;
    if((mouseX<0) || (mouseY<0) || (mouseX > bodyWidth)  || (mouseY > bodyHeight)){
        logout=false;
        logout();
    }
}
function bfunload(){
if(logout){
    logout();
}

}

4

2 に答える 2

2

ウィンドウを閉じるすべてのアクションを知ることは不可能です。ユーザーがデスクトップでコードを蹴ると、コードは実行されません。ハリケーンが来て、電力をノックアウトします。インターネット接続が失われた場合。アドレスバー/ブックマークから離れた場合。

セッションの終了を処理する唯一の方法は、サーバーでのセッション タイムアウトです。

于 2012-11-02T13:28:26.553 に答える
0

JavaScriptwindow.onbeforeunload()イベントは、Web ページがアンロードされる直前に発生します。これにより、ユーザーが表示しているページを離れることを確実にすることができます。

OSを押すAlt+F4と、ブラウザ アプリケーションが直接終了します。ウィンドウが開いていない場合は、シャットダウン ダイアログが表示されます。

推奨される実行方法は、アプリケーションでLogout Functionality使用Sessionsすることです。

于 2012-11-02T13:49:35.293 に答える