onbeforeunload не стреляет, пока работа не сделана - PullRequest
0 голосов
/ 05 сентября 2018

Вот мой код:

            window.onbeforeunload = function()
            {
                return 'some warning message';
            }

            window.onload = function () {
                importIndicator(0);
            }

Что я делаю, так это получаю данные с сервера и рисую график. После этого я загружаю данные графика SVG обратно на сервер, чтобы сделать изображение. Проблема в том, что во время выполнения этой транзакции мне нужно сказать пользователю не покидать страницу.

Но onbeforeunload не запускается до тех пор, пока все работы на странице не будут завершены, и к тому времени будет слишком поздно.

Почему это так и что я могу с этим поделать?

Обновление: при дальнейшей проверке кажется, что это работает, если я не попытаюсь закрыть всплывающее окно, выполнив ctr + w. Но все равно требуется подождать секунду или две, прежде чем он начнет работать.

...