Обработка заявки на отказ - PullRequest
0 голосов
/ 28 июля 2010

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

Без перехвата кнопок «назад» и «вперед» (я думаю, что большая часть этого форума согласятся, что это плохая практика) У меня есть набор обработчиков событий, использующих onbeforeunload, которые обрабатывают некоторые из типичного использованияслучаи, когда система может посчитать, что выгрузка документа равна пользователю, покидающему приложение, то есть обновлению страницы (F5, Ctrl / Meta + R).

Однако, что ускользает от меня, так это как разрешитьдвижение в контексте приложения, например, pg 1> submit> pg.2> опп, кнопка назад> стр.1. Или там, где физическое изменение URL может произойти, но приложение все еще находится "в области видимости".

Что происходит при использовании кнопки «Назад» для возврата к pg.1 (или вперед, чтобы вернуться к стр. 2) onbeforeunload срабатывает (, что ожидается ), таким образом, похоже, что заявитель может отказаться от приложения.

То, что я ищу и ускользает от меня, - это возможность проверить документ / домен destination .Я бы предпочел, чтобы пользовательский опыт не был таким уродливым, запускать диалоговое окно «Пожалуйста, не уходите» только тогда, когда следующая страница не будет находиться в домене моего приложения.

Предложения?

1 Ответ

0 голосов
/ 28 июля 2010

Вместо того, чтобы использовать отдельные страницы, сможете ли вы использовать несколько элементов div на одной странице?Если вы используете ASP.NET, вы также можете использовать пользовательские элементы управления для лучшей изоляции кода на стороне кода.Я бы по-прежнему оставил div в качестве самого верхнего тега в пользовательском элементе управления.

Каждый div будет соответствовать тому, что вы сейчас инкапсулировали в веб-страницу.В зависимости от того, нажал ли пользователь кнопку «назад» или «вперед», вы можете включить видимость в соответствующем разделе.

HTH ...

...