Осмотрите метод Navigator.sendBeacon () , который был создан для этой цели.
На странице MDN:
Навигатор .sendBeacon () может использоваться для асинхронной передачи небольших HTTP-данных из User Agent на веб-сервер.
blockquote>
Этот метод удовлетворяет потребности аналитики и диагностики, которые обычно пытаются отправить данные на веб-сервер до выгрузки документа. Отправка данных может привести к упущенной возможности сбора данных. Однако гарантировать, что данные были отправлены во время разгрузки документа, является тем, что традиционно было трудным для разработчиков.
blockquote>Это относительно новый API и, похоже, не поддерживается IE еще.