За последние 24 часа нас посетили 22712 программистов и 1210 роботов. Сейчас ищут 723 программиста ...

Обновление страницы после нажатия кнопки Назад

Тема в разделе "JavaScript и AJAX", создана пользователем DUCK, 9 окт 2006.

  1. DUCK

    DUCK Активный пользователь

    С нами с:
    9 окт 2006
    Сообщения:
    55
    Симпатии:
    0
    Здрасти всем.
    Для начала вкратце о страничке. Создал простенькую новостную ленту, две основные функции только добавление новостей и редактирование. Данные хранятся в MS SQL.
    Проблема такова: при заполнении формы и подтверждения ее нажатием на Submit, загружается окно с неким результатом обработки данных формы. После нажатия браузеровской кнопки назад предполагалось что форма будет или обнуленной (для раздела добавления новостей) или обновленной (для раздела редактирования новостей). Так оно и происходит если нжимать вручную кнопку обновить. Но хотелось бы чтобы все происходило автоматически.
    Эксперименты с отключением кэширования страниц ни к чему не привели. В итоге создал свою кнопку Назад и повесил на нее сначала перемещение назад, а затем обновление. Но надо чтобы именно браузеровская кнопка такую функцию выполняла.
    Заранее спасибо за помощь.
     
  2. Anonymous

    Anonymous Guest

    обратись к производителю браузера....
     
  3. DUCK

    DUCK Активный пользователь

    С нами с:
    9 окт 2006
    Сообщения:
    55
    Симпатии:
    0
    и как я сам не догадался :).
    Спасибо, а если все таки по существу.
     
  4. Davil

    Davil Guest

    <body onload="document.location.reload()"> :D Весело?
    Почемуто сутра у меня самые оригинальные решения рождаются :)

    А вообще копай в сторону JavaScript объекта History();
     
  5. DUCK

    DUCK Активный пользователь

    С нами с:
    9 окт 2006
    Сообщения:
    55
    Симпатии:
    0
    насчет релоада - получается зацикливание, а насчет хистори - там три метода только (forward, back, go) и одно свойство (lenght), которые никоим образом не смогут помочь
     
  6. Anonymous

    Anonymous Guest

    сам понял, что сказал?
     
  7. Davil

    Davil Guest

    В том и фишка :)
    Горбунов Олег ты последнее время почему-то только свои шутки понимаешь, остальные все в серьез. Что с тобой?
     
  8. Anonymous

    Anonymous Guest

    Davil, женюсь скоро. =(
     
  9. Davil

    Davil Guest

    Горбунов Олег Так это же замечательно! ;)
    DUCK можно поэксперементировать с forward.
     
  10. Anonymous

    Anonymous Guest

    Я кстати, без юмора сказал... надо учесть, что в разных браузерах кнопка "назад" будет вести себя по разному... Поэтому на ее нажатие пологатся нельзя...
     
  11. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    шутку понял
     
  12. Davil

    Davil Guest

    Вообщем ладно. Если серьезно:
    Делаешь сессию или куку, в которой хранится значение. При входе на эту страницу проверяется значение и, если необходимо, страница обновляется, сменив перед этим то самое значение. При любом входе на страницу она будет один раз перегружена.
     
  13. DUCK

    DUCK Активный пользователь

    С нами с:
    9 окт 2006
    Сообщения:
    55
    Симпатии:
    0
    это как, чот не доходит
     
  14. Anonymous

    Anonymous Guest

    У Оперы, например, не будет....
     
  15. Anonymous

    Anonymous Guest

    [offtop]Кстати, заметил странную тенденцию... Количество красивых девушек на улице обратно пропорционально количеству дней до свадьбы...[/offtop]
     
  16. Davil

    Davil Guest

    Хочешь сказать у оперы document.location.reload() не работает?
     
  17. DUCK

    DUCK Активный пользователь

    С нами с:
    9 окт 2006
    Сообщения:
    55
    Симпатии:
    0
    Сайт внутренний, у юзеров тока IE будет стоять.
    По поводу кукисов идея хорошая, но ведь страница будет обновляться при переходе с любой страницы, а такое нежелательно, есть еще варианты?
     
  18. Davil

    Davil Guest

    Ничего, после свадьбы это количество будет расти в геометрической прогрессии ;) :D
     
  19. Anonymous

    Anonymous Guest

    Я хочу сказать, что у оперы, пардон, невьбенный механизм кеширования. И по кнопке "Назад" она в 99% случаев берет из кеша, где хранится твой старое значение переменной.
     
  20. Davil

    Davil Guest

    В чем проблема? Можно сделать кукисы именно в следующей странице, чтоб именно при нажатии "Назад" страница обновлялась.
     
  21. Davil

    Davil Guest

    Горбунов Олег ну дык опера есть опера. С этим остается только смириться... А лучше пользовать IE,FF;
     
  22. Anonymous

    Anonymous Guest

    Тогда Davil правильно сказал, хранить метку обновления, и делать Reload() на несоответствие. Кроме того, если сайт локально - пользователи этого даже не заметят.
    Другое предложение - спланировать так, что бы кнопку "Назад" нажимать не пришлось.
     
  23. Anonymous

    Anonymous Guest

    Заказчикам тоже так аргументировать будешь?
     
  24. Davil

    Davil Guest

    Горбунов Олег лучше делать так, чтобы таких ситуаций вовсе небыло. Но кеширование - тяжелая тема. Без нее обходишься, обходишься, а потом как столкнешься получается полная ... чепуха. Причем иногда мимо пройти неполучится. Приходится мозг включать...
     
  25. DUCK

    DUCK Активный пользователь

    С нами с:
    9 окт 2006
    Сообщения:
    55
    Симпатии:
    0
    Опять же если только на следующей странице кукис выставлять, то при нажатии на назад ничего не будет, т.к. там будет браться данные из кэша и в кукисах или ничего не будет или будет записана старая переменная, а кэш мне нельзя отключать.