2014-09-04 100 views
0

我有一個系統,我需要知道什麼時候瀏覽器在一個文件中關閉。此文件在一個會話中創建並銷燬次數。當瀏覽器關閉以及文件被銷燬時,我可以在window.onbeforeunload事件中獲得控制權。我需要知道瀏覽器何時關閉。當瀏覽器關閉時,我需要在服務器上註銷註銷事件,而不是每次文件被銷燬時都註銷。我需要在同一個文件中瞭解這一點。我怎麼能知道在相同的事件天氣瀏覽器已關閉或文件已被銷燬,它已經解僱了卸載事件。我試過的是:在javascript中捕獲瀏覽器的onClose事件 - 不是onUnload

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

這會導致每次觸發卸載事件時而不僅僅是在調用瀏覽器時註銷。

任何幫助將不勝感激。在此先感謝...

+0

每當用戶關閉瀏覽器時 - 這不是您的業務。沒有「onClose」事件。自動註銷只能通過超時服務器端來實現。 – 2014-09-04 14:11:18

+0

是的。我面臨的問題是服務器端超時時間爲60分鐘,如果用戶在該時間段內嘗試登錄,系統將不允許登錄,因爲同一用戶的併發會話已被禁用。如果您有任何建議,這將會有所幫助。謝謝。 – Deep 2014-09-05 04:03:30

回答

0

根據您最後的評論:

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

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

現在,您可以檢查用戶是否通過檢查客戶端cookie值發送對應存儲在徘徊會話中的客戶端,從同一客戶端登錄,您甚至可以再次「重新初始化」該會話。

如果用戶試圖打開另一個瀏覽器實例(IE和FF),這甚至會起作用,因爲每個瀏覽器都有自己獨特的cookie值。 enter image description here

+0

非常感謝..幫助... :)再次感謝。 – Deep 2014-09-10 13:55:26