2011-06-25 113 views
0

我正在使用基於瀏覽器的即時消息客戶端,如果可能,此應用程序需要知道用戶何時閒置。在任何主流瀏覽器中,有沒有辦法讓應用程序檢測用戶在系統範圍內的空閒時間?如果沒有,那麼是否有推薦的技術來檢測用戶最後在應用程序本身中處於活動狀態,以及可能在同一個域中的其他頁面中?Web應用程序如何檢測用戶的空閒時間?

+0

查看JavaScript事件處理程序的鍵盤和鼠標活動:http://www.javascriptkit.com/jsref/eventkeyboardmouse.shtml 如果用戶在設置的時間段之後沒有調用一個這樣的事件時間。 –

回答

1

如果用戶轉到不同的頁面,我們可以認爲他不是空閒的,所以問題會減少到'用戶在當前頁面上活動?'

您可以在身體的onMouseMove事件中設置超時。當超時激活時,您知道用戶在一段時間內處於非活動狀態。如果沒有,並且您在超時前收到onMouseMove,則只需清除超時。 您也可以用相同的方式處理onKeyPress

如果用戶打開頁面的許多選項卡,這可能會有點困難,但我只是使用localStorage作爲這些選項卡之間的某種通信方式。