我有一個使用護照進行本地身份驗證的網絡服務器(Nodejs + express +護照)。有誰知道當用戶關閉瀏覽器選項卡時是否發生某種回調?我希望能夠檢測到這一點,因爲我試圖爲那些沒有明確註銷的用戶保存註銷時間戳(即通過單擊註銷)。MEAN stack,PassportJS:檢測客戶端何時關閉瀏覽器選項卡
謝謝!
我有一個使用護照進行本地身份驗證的網絡服務器(Nodejs + express +護照)。有誰知道當用戶關閉瀏覽器選項卡時是否發生某種回調?我希望能夠檢測到這一點,因爲我試圖爲那些沒有明確註銷的用戶保存註銷時間戳(即通過單擊註銷)。MEAN stack,PassportJS:檢測客戶端何時關閉瀏覽器選項卡
謝謝!
我本來會要求你首先檢查一下這些問題,但我認爲沒有辦法按照你的方式去做。那麼,檢查這些鏈接:how to run code on window close or refresh和how to detect it was close
基本上你不能。這是許多應用程序顯示「上次登錄時間」而不是用戶註銷時間的原因之一,請看看它是否適合您。
關於保存用戶的註銷時間:我會說根本不存儲該值。應該允許會話根據配置過期:即使長時間保持非活動狀態,用戶也可以註銷。此類用戶的註銷時間可能稍後根據其上次活動時間(您可以在每個頁面加載/調用服務器時存儲,刷新用戶會話計時器時)和會話超時值計算。現在可以在用戶下次登錄或使用後臺進程時計算。
可以存儲用戶的lastActivityDate,並假定用戶爲XX分鐘後下線考慮。
您可以嘗試在窗口卸載時執行ajax調用,但如果用戶有兩個打開的頁面,並且他關閉了一個,則數據將爲false。也不確定請求是否到達服務器。
您可以在會話中設置非常短的到期時間,並且在頁面打開時,執行ajax常規ping以保持會話打開。