ブラウザーの終了検出に関する問題があります。ユーザーがブラウザーを突然閉じたときの asp.net アプリケーションでは、loginstatus を true から false に更新するログアウト サービスを呼び出す必要があります。以下のように実行しています。
function Logout() {
var Userid = $("#hdnfuid").val();
var branch = $("#hdnfbranch").val();
var service = LogoutService.Logout(Userid + "," + branch, SucceededCallback);
//alert(service);
}
function SucceededCallback(result) {
}
var isClose = false; ;
//this code will handle the F5 or Ctrl+F5 key
//need to handle more cases like ctrl+R whose codes are not listed here
document.onkeydown = checkKeycode
function checkKeycode(e) {
var keycode;
if (window.event)
keycode = window.event.keyCode;
else if (e)
keycode = e.which;
if (keycode == 116) {
isClose = true;
}
}
function somefunction() {
isClose = true;
}
function doUnload() {
if (!isClose) {
var selection = confirm('window is closing');
if (selection == true)
{var x=confirm("closing browser");
if(x==true)Logout();
else
return false;}
else {
return false;
}
}
しかし、問題は、その場合に確認ボックスのキャンセルをクリックすると、ブラウザも閉じてしまうことです。また、global.asax の session_end イベントで同じサービスを呼び出す必要があります。これを行う方法を教えてください。}
しかし、問題はそれです