В последнее время у меня было срочное требование предоставить моему серверу уведомление о том, что определенная страница моего webapp собирается закрыться. "Легкий peasy", я думал, beforeunload
доступен довольно долгое время. HTML5 "вещь" даже обновила спецификацию (вот что я подумал...) об этом, так как у нас была опция return
строковое значение из обработчика события и т.д., Что дает пользователь может перехватить.
См. страницу MDN о onbeforeunload
Однако, как оказалось, нет никакой официальной спецификации, которая описывает поведение для beforeunload
до этой даты. Единственный официальный документ, который я нашел, был на WHATWG, который, конечно, является лишь предложением для W3C.
Пока все хорошо. Мы можем создать синхронизированный запрос XHR в обработчике события beforeunload
. "Большинство" браузеров, дайте этому запросу таймфрейм около 1-2 секунд, чтобы завершить, после чего его убивают. Стандартный асинхронный запрос немедленно уничтожается. Сказав это, я даже не могу сказать, "where" я знаю это, похоже, что сплетни и из уст в уста смотрят на него сейчас. Даже это, он работает в Firefox + Chrome, мы не можем полагаться на это, можем ли мы?
Есть ли текущая дискуссия/предложение по WHATWG о beforeunload
?
Любые другие официальные ресурсы о событии, которое я, возможно, не нашел?
И самое главное для меня здесь, насколько надежно мы можем отправлять данные через sync-XHR?