2012-07-19 81 views
0

嗨, 可以在清除瀏覽數據之前調用javascript函數。 實際上我們有window.unload在瀏覽器關閉之前調用。 在我們清除瀏覽數據之前,我想調用javascript函數,這可能嗎? 由於事先 在清除瀏覽數據之前調用javascript函數

+1

如在用戶清除cookie等時?如果是這樣,*否*,這是不可能的。 – Matt 2012-07-19 10:22:38

+0

okey謝謝Matt.is有替代解決方案嗎?實際上,我需要在清除瀏覽緩存之前將logoutTime發送到服務器。 – 2012-07-19 10:25:36

+1

你永遠不能依賴這種註銷的東西。如果在切斷互聯網連接後刪除了cookies,會發生什麼情況?唯一可靠的是當用戶下次訪問您的服務器時沒有cookie。 – Bergi 2012-07-19 10:37:28

回答

0

我能想到的,你可以「通知」關於註銷的這種方式只有一個辦法:你需要在客戶端的週期性的ping到服務器,當平停止發生的服務器會注意到。當然,當瀏覽器關閉或崩潰時,會發生這種情況,但我認爲您無法獲得100%正確的結果。您可以通過一些額外的邏輯來拋光這個問題,例如,在停止ping時註冊一個「可能的註銷」事件,並且如果下一次找到相同的用戶進行登錄(當他們再次導航到您的站點時),則刪除「可能的註銷「事件,如果下一次用戶必須再次登錄然後將其轉換爲」真實註銷「事件。

思考更多關於此:我不知道你爲什麼要註冊所有類型的註銷,但即使你可以做你在問什麼,如果用戶從不同的瀏覽器/客戶端登錄並註銷其中之一?這不會清除其他客戶端上的cookie,因此它們尚未完全註銷。根據您爲什麼需要註冊登錄時間,這可能會給您帶來問題。

相關問題