![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
NIMahno |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 6.5.2003 Репутация: нет Всего: нет |
Мы тут пишем редактор некоей структуры. При кликах на определенные места структура меняет свой вид (что в свою очередь видоизменяет класс, приаттаченный к старнице через параметр). Данные передаются через HttpServletRequest, потом идет редирект на ту же страницу с выводом обновленных данных.
И вот возникает очень неприятный момент. Пользователь может нажать Back - и страница вернется к предыдущему виду структуры, НЕ СООТВЕТСТВУЮЩЕМУ текущему значению данных в классе. И при нажатии на клавишу Save запишутся не те данные, которые видит пользователь... И вот тут - еще раз вопрос: как заблокировать запись навигации в хистори при обновлениях страницы редактирования этой нашей структуры (чтобы возврат шел не к предыдущему виду структуры, а, например, к той странице, которая и запустила редактор). Предложения типа "... а почему вы не храните данные прямо в странице..." не подходят ввиду сложности структуры данных... |
|||
|
||||
Z_P |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 4.10.2003 Где: это я? Репутация: нет Всего: нет |
Я так понял, ты не хочешь чтобы пользователь не нажимал baсk на броузере? Отключить его не получится из основного окна, можно сделать чтобы открывалось поп-окно, и в нем уже легко отключить
эту панель, и не только.. |
|||
|
||||
DENNN |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: нет Всего: 43 |
проблема, как я понял не в панели, а в том, чтоб отрубить ту же функцию по кнопке BackSpace. Мне на ум приходит только один вариант: использовать PHP и его SESSION, тогда можно добиться, чтоб упользователя в алресе всегда к примеру было http://www.mydomensuxx.ru/index.php. При таком раскладе даже если сделать history.back() броузеру вернется та же страница. |
|||
|
||||
Гость_DeathStorm |
|
|||
Unregistered |
а может скриптом отрубить
типа if(event.keyCode==backspace){return false} |
|||
|
||||
DENNN |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: нет Всего: 43 |
А если на каком-то из броузеров не заработает, тогда кто виноват будет? Это сообщение отредактировал(а) DENNN - 5.11.2003, 19:34 |
|||
|
||||
Nobody |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 25.8.2003 Где: Россия, Москва Репутация: нет Всего: 16 |
DENNN
Если ты отдал пользователю какой-то контент, то ты уже НИКАК не сможешь отобрать его. Он может взять и сохранить страницу. Или загрузить ее через lynx ;) Какой там Яваскрипт? -------------------- |
|||
|
||||
meral |
|
|||
Unregistered |
есть очень простое решение - совсем простое
![]() ![]() ![]() ![]() надо просто в каждую страницу включать либо 1) время генерации 2) номер обращения к класу в сессии и то же значение сохранять в класе тогда при несовпадении данных в класе и странице можно а) вывести алерт б) переделать страницу используя DOM с) на ваш выбор очевидно что этого должно хватить ps я лично использую в таких случаях параметр sequence который есть текущим значением псевдослучайной последовательности с интервалом 1-1000 000 000 это одновременно решает и проблему авторизации ![]() |
|||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |