Во-первых, очень плохая идея - выдавать сообщения об ошибках, если пользователи используют Back или обновляют страницу по какой-либо причине. Вместо этого вы должны прозрачно разбираться с этим. Подумайте о том, что страница не открывается полностью из-за проблем на уровне транспортировки - единственный вариант, который есть у пользователя, - это перезагрузить или вернуться.
Чтобы ответить на ваш вопрос, вы должны сами отслеживать навигацию пользователя, то есть на стороне сервера. Забудьте здесь о java-скрипте. Если пользователь посещает веб-сайт, вы можете сохранить эту информацию в сеансе, связанном с пользователем (существует несколько методов сохранения этих уникальных сеансов, и я не буду вдаваться в подробности здесь). Если вы сохраняете в своих внутренних структурах, какие страницы пользователь посещал в последнее время, легко определить страницу, которую посещали дважды, или навигацию, идущую в «неправильном» направлении.
Вы можете легко обобщить это (и сделать все это более надежным, например, против пользователей, дико скачущих между URL-адресами или возврата более чем на один шаг за один раз), построив график «разрешенной» навигации и просматривая его, пока пользователь посещает веб-сайты.
Правильное поведение тогда, если пользователь выполняет «неправильную» навигацию (например, отступает, перезагружается == посещает дважды), - это вернуть его в нужное русло. Чтобы не выдавать сообщение об ошибке, ему не сбежать! Поскольку ему не разрешено перезаряжаться или возвращаться, у него не осталось вариантов.
person
ypnos
schedule
15.11.2008