在我開發的應用程序中,我必須存儲某些特定用戶仍然登錄到應用程序的時間,不幸的是,在Web應用程序中,用戶可以通過多種方式註銷。保存用戶登錄的時間
1.-用戶單擊註銷。 2.-用戶會話過期。 3.-用戶關閉窗口。 4.-用戶在地址欄中鍵入另一個站點URL。
第一個很容易,因爲應用程序獲取了註銷過程的控制權。但在其他方面它變得棘手。
你會怎麼做才能解決這個問題?
在我開發的應用程序中,我必須存儲某些特定用戶仍然登錄到應用程序的時間,不幸的是,在Web應用程序中,用戶可以通過多種方式註銷。保存用戶登錄的時間
1.-用戶單擊註銷。 2.-用戶會話過期。 3.-用戶關閉窗口。 4.-用戶在地址欄中鍵入另一個站點URL。
第一個很容易,因爲應用程序獲取了註銷過程的控制權。但在其他方面它變得棘手。
你會怎麼做才能解決這個問題?
在每個頁面視圖上更新您的計數。如果他們註銷,那麼你有一個準確的措施。如果他們離開,或者採取其他方法,那麼你出去的時間最多的是他們在一個頁面上的時間。
如果是真的真的重要的是有一個準確的措施,那麼也許每分鐘一個AJAX「心跳」,但這是最有可能矯枉過正。
對於#3和#4,你可以附加一些東西給window.onunload事件,讓你有時間進行計算,但要小心你的代碼速度足夠快,以免頁面在你的AJAX請求之前完全卸載可以發送。
就#2而言,nickf提出的「心跳」可能是最好的解決方案。
就像stackoverflow的「心跳」:) – 2008-10-14 22:26:08