我正在用PHP + MySQL + JavaScript製作一個小型聊天應用程序,我寫了一個函數disonnectUser(),當用戶按下斷開連接按鈕時會調用它。那就是:
function disconnectUser(){
$.post('web/WEB-INF/classes/handleChatUser.php',{ action: 'disconnect',nick: localNickname});
$('#chat').stop(true,true).fadeOut(2000,function(){
nicknameDialog();
});
$('#messageInput').val(null);
$('#clientList').html(null);
$('#chatScreen').html(null);
clearInterval(refreshIntervalId);
clearInterval(refreshIntervalId2);
connected = false;
}
它就像一個魅力,但是當我打電話在另一種情況下這個非常功能,當用戶而不是按斷開剛剛退出該頁面,在這個函數
$(window).unload(function() {
if(connected){
disconnectUser();
connected = false;
}
});
它不起作用。而且我確定它正在被調用,因爲如果我在關閉頁面之前發出警報,它會正常調用。我認爲這個頁面在代碼完全運行之前就已經關閉了,所以我認爲如果我在代碼運行之前放置了一些代碼塊,那麼它會起作用嗎?
你說得對,我是設置連接到兩次假,感謝這個! – 2011-05-03 19:33:58