我一直試圖綁定beforeunload
事件通過調用以下腳本,以便我可以通過AJAX
去指定的URL。問題是AJAX
第一次沒有工作,因爲當我第一次執行頁面刷新時URL沒有被調用。阿賈克斯第二次工作。當我將async
設置爲false
但此時success
內的警報彈出窗口不顯示時,此問題得到解決。我需要警戒框也顯示在success
區塊。onbeforeunload內部的Ajax第一次不工作
<script type="text/javascript">
$(document).ready(function() {
// this method will be invoked when user leaves the page, via F5/refresh, Back button, Window close
$(window).bind('beforeunload', function(event){
// invoke the servlet, to logout the user
$.ajax({
cache: false,
type: "GET",
url: "LogoutController" ,
success: function (data) {
alert("You have been logged out");
}
});
});
});
</script>
哪些瀏覽器您使用? –
只是爲了提醒你,只要用戶在你的網站中瀏覽鏈接,你的方法也會被調用。因此,您的用戶將在他們訪問的每個頁面上註銷(如果AJAX調用有時間完成,可能不會,以及 - 當然 - 如果此代碼存在於每個頁面上)。 **每**頁面解構後觸發'beforeunload';而不僅僅是您在評論中列出的事件。試圖跟蹤離開網站/頁面的用戶是非常困難的,並且容易出現許多問題,因此大多數網站都依賴會話超時進行自動註銷。 – Pebbl
@Vaibs_Cool我需要讓它僅適用於Chrome。 – user2918640