Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Редактирование и клавиша Back 
:(
    Опции темы
NIMahno
Дата 24.10.2003, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 6.5.2003

Репутация: нет
Всего: нет



Мы тут пишем редактор некоей структуры. При кликах на определенные места структура меняет свой вид (что в свою очередь видоизменяет класс, приаттаченный к старнице через параметр). Данные передаются через HttpServletRequest, потом идет редирект на ту же страницу с выводом обновленных данных.

И вот возникает очень неприятный момент. Пользователь может нажать Back - и страница вернется к предыдущему виду структуры, НЕ СООТВЕТСТВУЮЩЕМУ текущему значению данных в классе. И при нажатии на клавишу Save запишутся не те данные, которые видит пользователь...

И вот тут - еще раз вопрос: как заблокировать запись навигации в хистори при обновлениях страницы редактирования этой нашей структуры (чтобы возврат шел не к предыдущему виду структуры, а, например, к той странице, которая и запустила редактор).

Предложения типа "... а почему вы не храните данные прямо в странице..." не подходят ввиду сложности структуры данных...
PM MAIL WWW   Вверх
Z_P
Дата 25.10.2003, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 4.10.2003
Где: это я?

Репутация: нет
Всего: нет



Я так понял, ты не хочешь чтобы пользователь не нажимал baсk на броузере? Отключить его не получится из основного окна, можно сделать чтобы открывалось поп-окно, и в нем уже легко отключить
эту панель, и не только..
PM MAIL   Вверх
DENNN
Дата 25.10.2003, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: нет
Всего: 43



Цитата
и в нем уже легко отключить эту панель,

проблема, как я понял не в панели, а в том, чтоб отрубить ту же функцию по кнопке BackSpace.
Мне на ум приходит только один вариант: использовать PHP и его SESSION, тогда можно добиться, чтоб упользователя в алресе всегда к примеру было http://www.mydomensuxx.ru/index.php.
При таком раскладе даже если сделать history.back() броузеру вернется та же страница.
PM ICQ   Вверх
Гость_DeathStorm
Дата 5.11.2003, 09:52 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











а может скриптом отрубить
типа if(event.keyCode==backspace){return false}

  Вверх
DENNN
Дата 5.11.2003, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: нет
Всего: 43



Цитата
а может скриптом отрубить типа if(event.keyCode==backspace){return false}

А если на каком-то из броузеров не заработает, тогда кто виноват будет?

Это сообщение отредактировал(а) DENNN - 5.11.2003, 19:34
PM ICQ   Вверх
Nobody
Дата 5.11.2003, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 25.8.2003
Где: Россия, Москва

Репутация: нет
Всего: 16



DENNN
Если ты отдал пользователю какой-то контент, то ты уже НИКАК не сможешь отобрать его.
Он может взять и сохранить страницу. Или загрузить ее через lynx ;) Какой там Яваскрипт?


--------------------
Алгоритм помещения вопросов на форуме
Выражаем спасибо вот ТАК
Use the Source, Luke!
PM MAIL WWW ICQ   Вверх
meral
Дата 7.7.2004, 13:29 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











есть очень простое решение - совсем простое biggrin.gif biggrin.gif biggrin.gif biggrin.gif
надо просто в каждую страницу включать либо
1) время генерации
2) номер обращения к класу в сессии
и то же значение сохранять в класе

тогда
при несовпадении данных в класе и странице можно
а) вывести алерт
б) переделать страницу используя DOM
с) на ваш выбор
очевидно что этого должно хватить

ps я лично использую в таких случаях
параметр sequence который есть текущим значением псевдослучайной последовательности с интервалом 1-1000 000 000
это одновременно решает и проблему авторизации wink.gif

  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1337 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.