我有例子,我需要在用戶關閉瀏覽器窗口時關閉會話。 我試過page_unload()不起作用。 這個例子是:我有父窗口,窗口將從它打開我需要刪除會話時,用戶關閉子窗口。 請我需要一些幫助。我想檢測用戶關閉瀏覽器窗口時?
回答
您可以使用window.onbeforeunload處理程序發送回註銷頁面。
function CloseSession()
{
location.href = 'SignOut.aspx';
}
window.onbeforeunload = CloseSession;
這是重複的問題..清潔香港在這裏
Closing the browser should actually clear the session variables an ASP.net session id
https://stackoverflow.com/questions/920042/kill-server-side-session-on-browser-window-close-closed
不保證onbeforeunload將會觸發。 – 2009-11-04 18:03:15
不幸的是,這是不可能的。你可以在網上找到聲稱他們可以這樣做的例子,但它們有時以非常微妙的方式存在缺陷。
沒有一致的方式來檢測通過JavaScript關閉瀏覽器。如果您擔心掛起的會話太多,請減少服務器上的會話超時。如果你這樣做,你也會想通知你的用戶他們需要保持活躍狀態,以免失去任何工作。
這不是在正常的web http協議中提供的。當瀏覽器關閉時,沒有真正的方法可以確切知道;你只能「排序」知道。你必須拼湊一個醜陋的黑客才能獲得任何確定性,即使如此,它必然會在大量邊緣案例中失敗或導致令人討厭的副作用。
正常的解決方法是每隔一段時間從瀏覽器向服務器發送ajax請求以設置一種「心跳」。當心跳停止時,瀏覽器關閉,因此您終止會話。但是,再次:這是一個可怕的黑客。在這種情況下,主要的問題是,如果服務器和客戶端出現不同步或出現javascript錯誤,並且存在會話永遠不會過期的副作用,那麼對於失敗的心跳信號容易出現誤報。
+1:唯一的例外是如果你正在運行某種與服務器不斷通信的內聯Java(或類似的)applet,並且唯一的原因是因爲它在常規的HTML頻道之外運行。 HTML不是一個有狀態的協議,任何嘗試使用JavaScript都是如此的方法是最好的。 – Satanicpuppy 2009-11-04 18:08:26
如果您的客戶端腳本發送一個AJAX心跳到你的服務器端應用程序,你可能使用丟失的節拍關閉會話。
你有父窗口的所有子窗口 你需要的onfocus檢查子窗口 所以當你的父母得到重點檢查,如果孩子出現與否
- 1. 檢測用戶瀏覽器是否關閉瀏覽器
- 2. 如何檢測瀏覽器(不是窗口)關閉事件
- 3. 有沒有辦法檢測瀏覽器窗口是否關閉?
- 4. javascript/jquery - 用戶關閉瀏覽器時的crossbrowser檢測?
- 5. JSF - 檢測用戶何時退出瀏覽器窗口
- 6. 跨瀏覽器窗口關閉事件
- 7. 關閉所有瀏覽器窗口?
- 8. 關閉瀏覽器窗口javascript for blackberry
- 9. 如何關閉瀏覽器窗口?
- 10. 自動關閉瀏覽器窗口
- 11. Selenium關閉瀏覽器彈出窗口
- 12. 當瀏覽器窗口關閉
- 13. Silverlight - 關閉瀏覽器窗口
- 14. geb spock並關閉瀏覽器窗口
- 15. 關閉彈出窗口關閉直到瀏覽器關閉
- 16. 問題,當用戶關閉瀏覽器標籤或窗口
- 17. 如何檢測通過Alt + F4關閉的瀏覽器窗口或單擊窗口的關閉按鈕?
- 18. 在Asp.net上檢測瀏覽器關閉
- 19. 檢測vb.net瀏覽器關閉事件
- 20. 如何檢測瀏覽器關閉?
- 21. 在javascript中檢測瀏覽器窗口
- 22. 想要檢測瀏覽器關閉事件?
- 23. 檢測窗口關閉
- 24. 檢測瀏覽器關閉在jquery/JavaScript跨瀏覽器
- 25. 瀏覽器 - 檢測瀏覽器關閉或標籤接近
- 26. 一旦另一個窗口關閉,更改瀏覽器窗口
- 27. 在瀏覽器窗口關閉前顯示jQuery彈出窗口
- 28. 如何在關閉瀏覽器窗口時關閉本地tomcat服務器?
- 29. 通過js檢測瀏覽器窗口/選項卡關閉事件
- 30. 在基於Gecko的瀏覽器中檢測窗口關閉事件
複製 http://stackoverflow.com/參考問題/ 920042/kill-server-side-session-on-browser-window-close-closed http://stackoverflow.com/questions/287022/closing-the-browser-should-actually-clear-the-session- variables-an-asp-net-sessio – 2009-11-04 18:03:11