2013-02-06 70 views
0

用戶正在訪問網站並打開了多個選項卡。如果其中一個選項卡處於活動狀態,並且在所有選項卡處於非活動狀態時使其死亡,如何在多個選項卡上保持會話活動

會議應保持活着的時候:
任何選項卡被激活(鼠標移動鍵盤上&擊鍵)。

會議應該死,然後重定向到自動登錄頁面時:
所有的標籤是不活動(不移動鼠標,無擊鍵)

能否請你提示我如何做到這一點?

+1

我希望你認識到服務器不知道標籤,對不對? –

回答

0

這是一個骯髒的解決方案,而我還沒有嘗試過,但是這在理論上可以工作:

  1. 當你發現頁面上的活動,保存一個標誌在數據庫表來表示頁面上有活動(可能還需要時間戳來幫助您確定活動發生的時間以及用戶標識符,以確保它是正確的會話)。根據您想要保存的頻率,您可以使用像這樣的簡單腳本(https://stackoverflow.com/a/3877867/987905)來跟蹤最近的擊鍵或任何想要跟蹤的內容,然後在一段時間(例如5分鐘)之後,如果有任何活動,則決定將其保存到數據庫(這樣每次有活動檢測時都不會進行數據庫保存)。
  2. 在檢查會話是否處於活動狀態期間,請檢查數據庫中的標記和時間戳,以查看會話是否已在該用戶登錄的任何實例上報告爲活動。如果是,請重新激活會話通過你的活着,或重新認證。

再一次,我沒有嘗試過這個,但最近一直在想它。這似乎是一個可行的解決方案,只是在幕後製作數據庫保存/調用的缺點,可能會損害性能。

相關問題