У меня есть приложение AngularJS, и я использую следующий код, чтобы позволить пользователю подтвердить, действительно ли он / она покидает страницу и может потерять несохраненные данные:
window.addEventListener('beforeunload', function (e) {
e.preventDefault();
e.returnValue = '';
return 'Do you really want to leave?'
});
window.addEventListener('unload', function (e) {
console.log('unload');
myRestService.close();
e.preventDefault();
e.returnValue = '';
});
Это работает хорошо, и браузер отображаетокно сообщения, в котором пользователь должен решить покинуть или остаться на странице.Однако, если пользователь действительно хочет покинуть страницу, я должен позвонить в бэкэнд отдыха.Для этого я подумал, что могу также зарегистрироваться для события unload, которое запускается, когда пользователь фактически покидает заднюю часть.Это работает, если пользователь перезагружает спину или переходит на другой URL в приложении.Однако событие не запускается, или, по крайней мере, я его не вижу, когда пользователь переходит на другую страницу или закрывает браузер.
Как я также могу перехватить эти события и убедиться, что мой вызов остальныхвсе еще проходит?