Как получить возвращаемое значение onbeforeunload

Я показываю предупреждающее сообщение, если пользователь пытается закрыть окно без сохранения формы.

window.onbeforeunload = askConfirm;

    function askConfirm()
    {
        // needToConfirm is set to true if any changes are there in the form
        if (needToConfirm)
        {
            return "Your unsaved data will be lost.";
        }       
    } 

    function call_this_if_user_clicks_on_cancel()
    {
       // Bla bla bla
       // After this user should remain on the same page.
    }  

Теперь я хочу вызвать другую функцию, когда пользователь нажимает Хорошо . Остальная функциональность должна остаться прежней. Итак, как я могу получить возвращаемое значение onbeforeunload и вызвать другую функцию?

РЕШЕНИЕ:

    needToConfirm = false; 
    window.onbeforeunload = askConfirm;
    window.onunload = unloadPage;
    isDelete = true;

    function unloadPage()
    {
        if(isDelete)
        {
           call_this_if_user_clicks_on_cancel() 
        }   
    }

    function askConfirm()
    {
        alert("onbeforeunload");
        if (needToConfirm)
        {
            // Message to be displayed in Warning.
            return "Your data will be lost.";
        } 
        else
        {
            isDelete = false;
        }   
    }

Спасибо, Алекс.

11
задан xyz 13 February 2013 в 15:24
поделиться