2013-01-18 38 views
0

可能重複:
How to execute ajax function onbeforeunload?
How to capture browser close event and make a request to web service method on that event through javascriptJavaScript的onbeforeunload火get請求

所以現在這是我onbeforeunload的樣子

window.onbeforeunload = function (e) { 
    var message = "Don't close me!", 
    e = e || window.event; 
    // For IE and Firefox 
    if (e) { 
    e.returnValue = message; 
    } 
    // For Safari 
    return message; 
}; 

因此,這是什麼我正在嘗試這個函數會觸發並提供一個提示來選擇是否離開頁面。當且僅當他們決定離開時,我需要發起GET請求來關閉數據庫記錄。

從測試,如果我設置這樣的:

window.onbeforeunload = $.get("url_here") 

這是一個簡單的辦法但現在我不能得到及時和窗口無預警關閉。

我也嘗試添加一個確認功能,但它似乎並沒有正常工作。例如。

window.onbeforeunload = function(e){ 
    if(confirm("Are you sure?")){ 
    $.get("url_here"); 

    return true; 
    } 
} 

這一個得到怪異,但是在大多數情況下,它只是導致郵件與文字文本(「真」)的是/否提示彈出。

+4

你不能可靠地做到這一點。 – SLaks

+0

+1 SLaks。可能會有答案指出如何去做,他們只是不總是工作。您必須做其他事情,例如在用戶更改數據時保存數據。 –

+0

異步假工程,只要請求使它在服務器的第一秒左右 – Esailija

回答