簡體   English   中英

在JavaScript中捕獲瀏覽器的onClose事件-不是onUnload

[英]Capture onClose event of browser in javascript - not onUnload

我有一個系統,需要知道何時在一個文件中關閉瀏覽器。 在一個會話中創建和銷毀此文件的次數。 關閉瀏覽器以及銷毀文件時,我可以在window.onbeforeunload事件中獲得控制權。 我需要知道何時關閉瀏覽器。 我需要在關閉瀏覽器時而不是在每次文件銷毀時在服務器上觸發注銷事件。 我需要在同一文件中知道這一點。 在同一事件中如何得知瀏覽器已關閉或文件已被破壞並觸發了卸載事件。 我試過的是:

window.onbeforeunload = function(e) {
    var e = e || window.event;
    if (!(e.clientY > 0) || e.altKey) {
        //Logout event
    }
}

每次觸發unload事件時(不僅在調用瀏覽器時),這都會導致注銷。

任何幫助將不勝感激。 提前致謝...

根據您的最后評論:

  • 您可以在客戶端上設置唯一的持久性cookie。 該cookie對於每個客戶端都是唯一的(不要使用IP地址)
  • 該cookie與當前正在運行的會話一起存儲。

當用戶關閉瀏覽器並重新打開瀏覽器時,會話cookie消失了。 客戶端cookie仍然有效,將被發送。

現在,您可以通過檢查客戶端cookie值(僅針對保留在持久會話中的一個cookie發送)來檢查用戶是否從同一客戶端登錄,甚至可以再次“初始化”該會話。

如果用戶嘗試打開另一個瀏覽器實例(IE和FF),這甚至可以工作,因為每個瀏覽器都有自己的唯一Cookie值。 在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM