2008-10-14 132 views
4

在我開發的應用程序中,我必須存儲某些特定用戶仍然登錄到應用程序的時間,不幸的是,在Web應用程序中,用戶可以通過多種方式註銷。保存用戶登錄的時間

1.-用戶單擊註銷。 2.-用戶會話過期。 3.-用戶關閉窗口。 4.-用戶在地址欄中鍵入另一個站點URL。

第一個很容易,因爲應用程序獲取了註銷過程的控制權。但在其他方面它變得棘手。

你會怎麼做才能解決這個問題?

回答

7

在每個頁面視圖上更新您的計數。如果他們註銷,那麼你有一個準確的措施。如果他們離開,或者採取其他方法,那麼你出去的時間最多的是他們在一個頁面上的時間。

如果是真的真的重要的是有一個準確的措施,那麼也許每分鐘一個AJAX「心跳」,但這是最有可能矯枉過正。

+0

就像stackoverflow的「心跳」:) – 2008-10-14 22:26:08

1

對於#3和#4,你可以附加一些東西給window.onunload事件,讓你有時間進行計算,但要小心你的代碼速度足夠快,以免頁面在你的AJAX請求之前完全卸載可以發送。

就#2而言,nickf提出的「心跳」可能是最好的解決方案。