有沒有什麼方法可以檢測用戶何時離開頁面,無論是通過關閉瀏覽器,在地址欄中輸入新的URL,單擊重定向到其他域的鏈接等。如何在用戶離開頁面之前與服務器同步並清除會話?
這樣做的主要目的是要執行某些活動,如:
- 同步與服務器一些數據駐留在客戶端
- 清楚服務器會話
我嘗試與窗口的卸載和beforeunload事件,並閱讀其他問題,如: Best way to detect when a user leaves a web page? // Is there any way to know that user leaving a page with asp.net?但我沒有找到答案我會期待。
下面是一個簡單的JS代碼片段明白我是想:
window.onunload = function(){
if (theConditionThatINeed){
doThings();
SyncWithServerAndAbandonSession(url, localObjects);
}
else {
doNothing();
}
}
我不希望在用戶離開前,顯示任何確認的,所以我認爲onbeforeunload韓元」在這裏幫助我。
假設答案是「沒有辦法做這種事情」,那麼我建議的做法是完成我想要的同步和會話清除?
,我支持主要的瀏覽器是IE> = 7