2012-08-06 37 views
1

我希望能夠知道用戶何時離開網站,以便我可以更新數據庫中的字段(特別是last_visit字段,以便確定每個用戶的未讀項目)。但是,我不確定如何管理這樣一個事實,即有時用戶打開網站的多個選項卡,因此我無法可靠地使用onbeforeunload來實現此目標。檢測用戶關閉標籤或離開網站

理想情況下,只有當網站只有一個打開的選項卡時,我才能更新此字段。

另一方面,也許我可以通過簡單地使用表記錄幾天的讀取項目,並假定比這更早的線程被默認讀取,從而獲得更多功能。

您認爲如何?

問候

+0

你爲什麼沒有想過周圍尋找工作'onbeforeunload'當用戶有多個標籤頁/瀏覽器打開?你只需要保留一個用戶打開的標籤計數器,更新'onbeforeunload',如果更新後,計數器爲0,則更新上次訪問時間。簡單。不是嗎? – Prasanth 2012-08-06 05:43:01

回答

1

所有我能想到的是使用兩種餅乾或本地存儲更新他們在每個頁面加載瀏覽您的網站時的時間的。這樣,一旦他們關閉了網站打開的所有選項卡,cookie /本地存儲條目就不會更新,並且您可以在稍後返回時訪問該值。

那麼運行這個每次頁面加載:

window.localStorage.setItem('lastVisit',Date.now); 

並抓住它:

var lastVisit = window.localStorage.getItem('lastVisit');