2011-07-15 74 views
0

我已經系統跟蹤用戶的工作時間和工作流程是這樣的:
關閉瀏覽器的問題再次

如果他用戶登錄/她是在和有扣鈕釦輸出/輸入按鈕也註銷處理事件。

問題是,當用戶關閉瀏覽器/標籤,我不能處理他或她是出來。我已閱讀關於處理瀏覽器/選項卡關閉事件,但不幸的是,這實際上是不可能的。我的下一個方法不是更可靠,使用Cookie,當頁面加載該頁面時頁面onUnloads會保存cookie,並且當用戶登錄時,我將獲得包含用戶上次活動並更新出時間的cookie值。但是缺點是用戶可能會通過不同瀏覽器/機器來到網站,而這些瀏覽器/機器沒有關於上次活動的適當信息。

+0

*「請給我你的想法」*提出問題。 (不,添加一個'?'到*「瀏覽器關閉問題再次結束?」*不會**使它成爲一個問題。) –

回答

0

你嘗試通過Window.addCloseHandler()添加是closeHandler。它在用戶關閉窗口/選項卡時調用。在處理程序中,您可以向服務器發送關閉消息或其他內容。

+0

是的,我已經嘗試過,但問題是它使用onUnLoad處理關閉事件,如果刷新頁面或瀏覽本事件觸發該事件。 –

+0

我認爲,因爲GWT通常是單頁面應用程序,所以這種情況不會經常發生。如果發生這種情況,您可以在用戶刷新頁面/導航並重新打開相同頁面時檢查關閉事件和重新打開之間的時間是否在某個時間限制內,以及是否忽略了先前關閉事件。 –

0

我個人會看會話對象。當到期時,你可以做任何你需要做的事情。

0

你可以做的是服務器的JavaScript調用每分鐘(使用Javscript定時器功能如下解釋:http://www.w3schools.com/js/js_timing.asp)。

但我不知道使用的瀏覽你的方法是正確的。根據定義,瀏覽器/服務器連接沒有連接。由於HTTP協議不提供這些功能,Cookie只是維持連接的一種方式。

第二點是:要保持跟蹤,當用戶從其他瀏覽器連接。用戶如何在同一時間使用兩種不同的瀏覽器?你如何檢測用戶(他應該在瀏覽器打開時進行身份驗證,還是可以依賴IP地址)?我建議有一個適當的應用程序來處理這個問題:不是瀏覽器應用程序。編寫一個應該不是很複雜。

好,小程序和Adobe Flash可以增強瀏覽器功能的解決方案......