Как правильно перехватывать события ухода пользователя со страницы?

Для перехвата событий ухода пользователя со страницы в JavaScript вы можете использовать событие beforeunload. Это событие срабатывает перед тем, как происходит выгрузка документа или уход пользователя со страницы.

Пример использования:

window.addEventListener('beforeunload', function (e) {
    // Ваш код здесь, например, запрос подтверждения перед уходом
    var confirmationMessage = 'Хотите покинуть страницу?';

    (e || window.event).returnValue = confirmationMessage; // Для старых браузеров
    return confirmationMessage; // Возвращает сообщение браузеру
});

При регистрации обработчика события beforeunload вы можете выполнить необходимые действия, например, запросить подтверждение пользователя перед уходом со страницы или сохранить какие-то данные.

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

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