2013-02-25 69 views
0

我需要做的一些操作,當用戶點擊瀏覽器中的[x]而不是頁面卸載時,因爲刷新或頁面之間的正常導航...如何在用戶關閉窗口時觸發事件,但在導航/刷新/等時不能觸發事件?

很明顯,我不能依靠onclose,onbeforeunload或者onunload事件,因爲它們在導航到其他頁面或刷新同一頁面時也被觸發,並且不是那些必須完成這些操作的時刻...

我該如何做到這一點?

+4

將處理程序綁定到您不希望觸發消息的東西,例如所有定位標記點擊您的頁面。在onbeforeunload事件中,檢查是否已經設置了其中一個處理程序的布爾值。如果沒有,提示消息。 – jbabey 2013-02-25 13:29:27

+0

Buf如果用戶點擊書籤或其他東西,它也被解僱,所以我必須找到另一種方式...... – diminuta 2013-03-06 12:03:30

回答

0

我不知道這是否在其他瀏覽器比IE(規格的狀態,它已經在IE瀏覽器...只能檢查),但這個工程:

window.onbeforeunload = function() { 
    if ((window.event.clientX < 0) || (window.event.clientY < 0) || (window.event.clientX < -80)) { // close button 
     //things to do when the user closes the tab or window pressing the [x] 
    } else if (window.event.altKey == true) { // ALT + F4 
     //things to do when the user closes with ALT+F4 
    } 
}; 

嗯,這並未」 t如果用戶點擊書籤,因爲它也是一個客戶端0 < 0 ...

+0

嗯,這項工作,但如果用戶點擊書籤,它也被解僱,所以這不是一個解決方案...: ( – diminuta 2013-03-06 12:02:53

相關問題