У меня есть заявка, которая охватывает несколько страниц взаимодействия с заявителем, и я не хочу, чтобы пользователь отказывался преждевременно.
Без перехвата кнопок «назад» и «вперед» (я думаю, что большая часть этого форума согласятся, что это плохая практика) У меня есть набор обработчиков событий, использующих onbeforeunload
, которые обрабатывают некоторые из типичного использованияслучаи, когда система может посчитать, что выгрузка документа равна пользователю, покидающему приложение, то есть обновлению страницы (F5, Ctrl / Meta + R).
Однако, что ускользает от меня, так это как разрешитьдвижение в контексте приложения, например, pg 1> submit> pg.2> опп, кнопка назад> стр.1. Или там, где физическое изменение URL может произойти, но приложение все еще находится "в области видимости".
Что происходит при использовании кнопки «Назад» для возврата к pg.1 (или вперед, чтобы вернуться к стр. 2) onbeforeunload
срабатывает (, что ожидается ), таким образом, похоже, что заявитель может отказаться от приложения.
То, что я ищу и ускользает от меня, - это возможность проверить документ / домен destination .Я бы предпочел, чтобы пользовательский опыт не был таким уродливым, запускать диалоговое окно «Пожалуйста, не уходите» только тогда, когда следующая страница не будет находиться в домене моего приложения.
Предложения?