Как остановить переход на другую страницу?

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

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

Пример кода на JavaScript:

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

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