Здрасти всем. Для начала вкратце о страничке. Создал простенькую новостную ленту, две основные функции только добавление новостей и редактирование. Данные хранятся в MS SQL. Проблема такова: при заполнении формы и подтверждения ее нажатием на Submit, загружается окно с неким результатом обработки данных формы. После нажатия браузеровской кнопки назад предполагалось что форма будет или обнуленной (для раздела добавления новостей) или обновленной (для раздела редактирования новостей). Так оно и происходит если нжимать вручную кнопку обновить. Но хотелось бы чтобы все происходило автоматически. Эксперименты с отключением кэширования страниц ни к чему не привели. В итоге создал свою кнопку Назад и повесил на нее сначала перемещение назад, а затем обновление. Но надо чтобы именно браузеровская кнопка такую функцию выполняла. Заранее спасибо за помощь.
<body onload="document.location.reload()"> Весело? Почемуто сутра у меня самые оригинальные решения рождаются А вообще копай в сторону JavaScript объекта History();
насчет релоада - получается зацикливание, а насчет хистори - там три метода только (forward, back, go) и одно свойство (lenght), которые никоим образом не смогут помочь
В том и фишка Горбунов Олег ты последнее время почему-то только свои шутки понимаешь, остальные все в серьез. Что с тобой?
Я кстати, без юмора сказал... надо учесть, что в разных браузерах кнопка "назад" будет вести себя по разному... Поэтому на ее нажатие пологатся нельзя...
Вообщем ладно. Если серьезно: Делаешь сессию или куку, в которой хранится значение. При входе на эту страницу проверяется значение и, если необходимо, страница обновляется, сменив перед этим то самое значение. При любом входе на страницу она будет один раз перегружена.
[offtop]Кстати, заметил странную тенденцию... Количество красивых девушек на улице обратно пропорционально количеству дней до свадьбы...[/offtop]
Сайт внутренний, у юзеров тока IE будет стоять. По поводу кукисов идея хорошая, но ведь страница будет обновляться при переходе с любой страницы, а такое нежелательно, есть еще варианты?
Я хочу сказать, что у оперы, пардон, невьбенный механизм кеширования. И по кнопке "Назад" она в 99% случаев берет из кеша, где хранится твой старое значение переменной.
В чем проблема? Можно сделать кукисы именно в следующей странице, чтоб именно при нажатии "Назад" страница обновлялась.
Тогда Davil правильно сказал, хранить метку обновления, и делать Reload() на несоответствие. Кроме того, если сайт локально - пользователи этого даже не заметят. Другое предложение - спланировать так, что бы кнопку "Назад" нажимать не пришлось.
Горбунов Олег лучше делать так, чтобы таких ситуаций вовсе небыло. Но кеширование - тяжелая тема. Без нее обходишься, обходишься, а потом как столкнешься получается полная ... чепуха. Причем иногда мимо пройти неполучится. Приходится мозг включать...
Опять же если только на следующей странице кукис выставлять, то при нажатии на назад ничего не будет, т.к. там будет браться данные из кэша и в кукисах или ничего не будет или будет записана старая переменная, а кэш мне нельзя отключать.