0
我的應用程序依賴於能夠設置用戶在線/離線狀態。window.onbeforeunload不總是開火嗎?
我已經通過使用window.onbeforeunload查看用戶何時離開頁面來解決此問題。
問題是,下面的代碼並不總是得到執行,因此仍然說有些人在離開頁面時處於聯機狀態。
這是我當前的代碼:
window.onbeforeunload = function (event) {
$.ajax({
type: 'GET',
url: './changeStatus.php?cid=' + ccID + '&status=0',
contentType: "application/json",
dataType: 'json',
cache: false,
async: false,
success: function (data) {},
error: function (e) {
//console.log(e);
}
});
return;
};
任何想法如何,我可以迫使這總是得到執行? (在所有瀏覽器上)
它應該在所有主流瀏覽器中支持。什麼時候它不是射擊? – adeneo 2013-02-10 22:15:03
有時在IE中似乎 – Laine 2013-02-10 22:15:18
IE介紹了這個,並且從IE4開始支持據我所知?您需要在未觸發的情況下添加更多細節。另一方面,在IE中,問題通常是,即使您嘗試通過禁用緩存來延遲緩存(這不會工作順便),ajax函數的速度也不足以在頁面關閉之前發送請求。 – adeneo 2013-02-10 22:15:53