2011-07-20 121 views
2

如何在Firefox瀏覽器中檢測瀏覽器關閉事件。我想在服務器端做一些清理過程,並保持最後的註銷時間。 爲了實現這個需求,當用戶單擊註銷或瀏覽器關閉時觸發ajax調用。 爲IE下面的代碼工作,如何在Firefox中檢測瀏覽器關閉事件?

if (window.event.clientY < 0 && (window.event.clientX > (document.documentElement.clientWidth - 5) || window.event.clientX < 0)) { 

     logoutUser();//logging out the user 

     } 
} 


function logoutUser(){ 

var xmlhttp; 
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, 
    //Safari 
    xmlhttp = new XMLHttpRequest(); 
    } else {// code for IE6, IE5 
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xmlhttp.open("GET", "Logout.action", true); 
xmlhttp.send(); 

} 

如何在Firefox中做到這一點,幫助我。

在此先感謝。

回答

0
window.addEventListener('unload',fn,false); 
0
var closedWindow = function() { 
    //code goes here 
}; 

if (window.addEventListener) { 
    window.addEventListener('unload', closedWindow, false); 
} else if (window.attachEvent) { 
    // pre IE9 browser 
    window.attachEvent('onunload', closedWindow); 
} 
6

使用onbeforeunload

window.onbeforeunload = function (e) { 

    e = e || window.event; 

    // For IE and Firefox prior to version 4 
    if (e) { 
    e.returnValue = 'Any string'; 
    } 

    // For Safari 
    return 'Any string'; 
}; 
+0

'onbeforeunload'與返回的字符串將顯示一個彈出窗口,讓用戶,並要求他們,如果他們確信他們要離開頁面 – moe