Для отсылки запросов прямо перед перезагрузкой страницы существует спецаильный API

Проблема в том что браузер по умолчанию рубит все аяксовые запросы когда пользователь перезагружает страницу (уходит на другую страницу, например). Часто хочется отослать запрос в аналитику перед моментом когда пользователь уходит со страницы. Чтобы решить эту задачу я использовал разные трюки, включая блокировку event loop https://github.com/podgorniy/javascript-toolbox/blob/master/wait.js. Сегодня узнал что есть специальный API для отсылки подобных запросов https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon. И google analytics поддерживает такой этот вид транспорта https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#transport


Статья в рамках рубрики “Today I Learned

5 Симпатий