好的,我有一個問題,下面的代碼。當用戶關閉瀏覽器時會發生什麼,它會提示他們單擊確定或單擊取消離開該頁面。點擊確定會觸發一個window.location重定向到用戶跟蹤的另一個頁面(是的,爲了避免火焰戰爭,有一個輔助系統來保證準確的跟蹤,在用戶從任務管理器中剔除瀏覽器的情況下(如同樣的問題所述))。取消將保留在頁面上,問題是無論按下哪個按鈕,都會重定向,就好像您想離開頁面一樣。相關代碼如下。Javascript onbeforeunload問題
window.onbeforeunload = confirmExit;
function confirmExit()
{
var where_to = confirm("Click OK to exit, Click CANCEL to stay.");
if (where_to == true)
{
window.location="logout.php";
}
if (where_to == false){
alert("Returning...");
}
}
Ajax請求不起作用。我的意思是,他們確實有效,但有時他們沒有足夠的時間在頁面實際卸載之前完成。我們已經在我們的開發機器上嘗試了這種技術,確保請求完成的唯一方法是使其同步。這對IE造成了很大的問題,因爲它對每個瀏覽器實例的Ajax請求堆棧有限。 – 2010-06-17 13:02:45
@Igor:公平點。我又做了一次本地測試,它可以在IE8和Chrome上運行,但不能在FF3和Safari4上運行。 – BalusC 2010-06-17 13:15:09
@ IgorZinov'yev你可以實現這個沒有問題,如果ajax調用是一個火災,並忘記。電話會一直打到服務器。 – thomaux 2013-04-26 08:05:22