2017-10-19 20 views
0

私のアプリケーションでタブやブラウザを閉じるときに強制的にログアウトする必要があります。。ログアウト機能があり、ユーザがタブ/ブラウザを閉じたときに呼びたいこのコードを試しましたが、それは私のために働いていませんでしたブラウザ/タブが閉じるときに私のログアウト機能を呼び出す

<script type="text/javascript"> 
     $(function() { 
      $(window).bind("beforeunload", function() { 
       fnLogOut(); 
      }) 
     }); 
     function fnLogOut() { alert('browser closing'); } 
</script> 

助けが必要ですか?

+3

あなたはfnLogOut' '内部のAJAXリクエストをやっていますか?もしそうなら、あなたは 'async:false'を指定する必要があります。さもなければ、ブラウザはajaxが送られる前にスレッドをkillします。 –

+0

ブラウザタブは閉じていますが、どこで機能しましたか? –

+0

ログアウトして閉じるためのポップアップを起動する必要があります。 'onbeforeunload'は、ログアウトが完了するまでブラウザを開いたままにしておくことは保証されません。 – gurvinder372

答えて

0

window.onbeforeunload = function (event) { 
 
    var message = 'Important: Please click on \'Save\' button to leave this page.'; 
 
    if (typeof event == 'undefined') { 
 
     event = window.event; 
 
    } 
 
    if (event) { 
 
     event.returnValue = message; 
 
    } 
 
    return message; 
 
}; 
 

 
$(function() { 
 
    $("a").not('#lnkLogOut').click(function() { 
 
     window.onbeforeunload = null; 
 
    }); 
 
    $(".btn").click(function() { 
 
     window.onbeforeunload = null; 
 
}); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a href="#" target="_blank"> ----BY </a> 
 

 
<a href="#" class="btn" target="_blank"> STY------- </a>

関連する問題