我有一個網站,我必須實現(使用PHP和/或JavaScript)在訪問者進入網站後觸發兩分鐘的警報消息。我搜索了,但我發現的所有解決方案都是爲了一個獨特的頁面。我需要定時器計數器在用戶進入我的網站時啓動,無論通過哪個頁面。我需要該計數器在用戶瀏覽我網站的頁面時不斷計數。知道用戶在我的網站的實時
一個解決方案可能是使用會話變量。我可以創建一個查找這個變量的腳本,如果它不存在就意味着用戶正在進入該站點。然後我用當前時間設置這個變量。它在每個頁面中的腳本,它將每x秒通過AJAX讀取此變量,並且我會在兩分鐘後知道用戶何時在我的網站中。
我不知道它是否正確(我還沒有實現),但我不確定會話是否是最好的方法。如果用戶離開頁面但打開了其他導航窗口,則會話不會過期,並且如果他再次進入該站點,則計數器不會被重置。
於是,兩個問題:
- 是否有更好的方法來對實體進入 和退出 更多的控制權?
- 如果不是,我的以上 方法對不對?
謝謝。
你的想法很好,但我會建議在JavaScript中使用cookie來實現相同的想法。 1)在第一次加載時,檢查您的cookie是否已經存在,如果沒有,請將其設置爲當前時間(請注意,服務器和客戶端時間可能會有所不同,因此將時間全部用一個時鐘來計算)。 2)第一次使用setTimeout(...)2分鐘(2分鐘減去重新加載頁面時cookie時間和當前時間之間的差異)。 – mkilmanas 2011-06-01 11:41:40
但是,如果我創建一個cookie,當用戶離開我的網站,然後重新輸入,cookie將保持不變,我將無法知道它是否輸入。我錯了嗎? – mariogl 2011-06-01 11:46:51
如果document.referrer不是重置cookie的站點,您可以設置邏輯。最簡單的方法是檢查它是否包含您的域名。 – agmcleod 2011-06-01 11:50:33