我想要一個實時遊戲去,我有登錄很好和異步,但我擔心註銷部分。很多時候,有人會關閉瀏覽器窗口/選項卡,而不是實際點擊註銷按鈕。NodeJS客戶端OnBeforeUnload
Can NodeJS能檢測到onbeforeunload
事件,所以我可以運行一個查詢來將它們設置爲脫機狀態?
我在考慮添加「lastaction」時間戳,但這需要幾乎不斷的刷新,而一次性註銷檢查將是理想的。
我想要一個實時遊戲去,我有登錄很好和異步,但我擔心註銷部分。很多時候,有人會關閉瀏覽器窗口/選項卡,而不是實際點擊註銷按鈕。NodeJS客戶端OnBeforeUnload
Can NodeJS能檢測到onbeforeunload
事件,所以我可以運行一個查詢來將它們設置爲脫機狀態?
我在考慮添加「lastaction」時間戳,但這需要幾乎不斷的刷新,而一次性註銷檢查將是理想的。
如果您使用的是網絡套接字,那麼您使用的庫可能會支持套接字斷開事件。
io.sockets.on('connection', function(socket) {
// handle user connected
socket.on('disconnect', function() {
// handle user disconnected
});
});
這是正確的。如果你使用的是socket.io,如果你想查看socket.io用於斷開連接事件的確切語法,可以在這裏看到服務器示例:http://socket.io/#how-to-use – Josh1billion
'onbeforeunload'不能依賴。 – bjb568
不,它無法檢測到服務器端的瀏覽器事件,並且在beforeunload上執行Ajax請求是非常不可靠的。您必須使用「心跳」或定時註銷。 – adeneo
@adeneo我可以觸發一個websocket響應使用客戶端'onbeforeunload'或是不可靠的,因爲bjb568說? –