Чтобы остановить переход на другую страницу в веб-приложении при использовании JavaScript, нужно воспользоваться событием beforeunload
. Это событие происходит перед тем, как страница покидает видимую часть окна браузера (например, при попытке закрыть вкладку или перейти на другой сайт).
Для перехвата события beforeunload
и отмены перехода на другую страницу можно добавить обработчик события и вернуть строку, которая будет показана пользователю в диалоговом окне браузера. Если пользователь подтвердит желание покинуть страницу, переход все равно произойдет, но если он откажется, переход будет отменен.
Пример кода на JavaScript:
window.addEventListener('beforeunload', function(event) { event.preventDefault(); event.returnValue = ''; // Этот текст не будет показан в современных браузерах, но может понадобиться для старых return 'Вы уверены, что хотите покинуть эту страницу? Все изменения могут быть потеряны.'; });
Таким образом, код выше позволяет перехватить попытку пользователя покинуть страницу и предложить ему подтвердить свое намерение. Важно помнить, что многие браузеры ограничивают возможности изменения поведения при работе с событием beforeunload
в целях безопасности пользователей.