Я уже использую onbeforeunload для подтверждения. Отредактированный код, чтобы отразить это. Спасибо!

я возникла ситуация, когда на странице разгрузки я запускаю запрос на удаление черновика работы пользователя. Это работает нормально, пока пользователь не решит обновить страницу, после чего проверка вкладки сети Chrome показывает, что Chrome загружает новую страницу до того, как запрос ajax действительно будет запущен. В результате создается новый черновик при загрузке страницы, а затем сразу же удаляется вызов ajax. Вот в основном то, что я делаю:

window.onbeforeunload = function(){
    if (pageUpdated){
        return 'Are you sure you want to abandon this draft?';
    }
}

window.onunload = function(){
    $.ajax({
        async: false,
        type: 'DELETE',
        url: '/some/url/'
    });
}

Есть ли способ заставить обработчик onunload завершить работу перед отправкой запроса на новую страницу?

Проверенные браузеры: (Chrome 9, FF 3.6) в Ubuntu 10.04 Lucid

Ответы на вопрос(4)

Ваш ответ на вопрос