ユーザーがブラウザを閉じる際に「ログアウトしますか?」と確認したい。はいの場合、ログオフ コードを実行し、「ログオフされています」というメッセージを表示します。いいえの場合は、何もしないでください。
以下は私が使用しているコードです:
window.onbeforeunload = closeit;
function closeit(e) {
var closeEvent = false;
if (event.clientY < 0)
closeEvent = true;
if ((closeEvent)) {
var response = confirm("Are you sure you want to log-off?");
if(response == true){
var swf = "SWFAPP";
var container;
if (navigator.appName.indexOf("Microsoft") >= 0)
{
container = document;
}
else
{
container = window;
}
container[swf].logOutUser();
alert("Logged off");
}
else{
}
}
}
上記のコードは機能せず、[OK] または [キャンセル] をクリックしてもブラウザが閉じます。[OK] をクリックすると、「ログオフ」という警告メッセージは表示されません。
確認行を削除して、応答が常に true であると言うと、ログオフ コードが実行され、「ログオフ」というメッセージが表示されます。Container.logOutUser は、DB のユーザー ステータスを更新します。