powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / как управлять историей браузера при аякс запросе
46 сообщений из 46, показаны все 2 страниц
как управлять историей браузера при аякс запросе
    #39143841
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть такая проблема, страницы обновляются аяксом, и таким образм не работает кнопка "назад" браузера.
Как вы это решаете? Почему я спрашиваю, это тут т.к. приложение написано все-таки не на js а на java и возможно есть какое внятное решение...

Юзер экспириенс такой:

1. перехожу по get запросу на list.jsp т.е. сейчас страница 1 (все в окне перерисовалось)

2. делаю аякс запрос(нажимаю на ссылку) на стр. 4 (перерисовалось только то, что должно было, т.е. все ок)
т.о. сейчас стр. 4

3. делаю аякс запрос(нажимаю на ссылку) на стр. 5 (перерисовалось только то, что должно было, т.е. все ок)
т.о. сейчас стр. 5

4. нажимаю "назад" (кнопка браузера) - НИЧЕГО не произошло, и в консолях тоже ничего не изменилось

5. нажимаю снова "назад" (кнопка браузера) - выполнился get запрос на страницу 1, т.е. получается этот шаг сработал правильно



т.о. браузер не возвращает назад по истории на шаге 4... как это побороть?
ссылки выглядят вот так:
<a class="idPage" href="#">4</a>
а джейквери отправляет запрос на сервер и получает нужно содержимое по номеру указанной страницы и обновляет содержимое окна, проблема только в том что невозможно перейти "назад" в браузере.
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39143844
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174Есть такая проблема, страницы обновляются аяксом, и таким образм не работает кнопка "назад" браузера.
аякс не обновляет страницы. Аякс получает данные в JS без обновления. При желании можно обновить регион-форму-контрол, т.е. часть страницы.
Например, только таблицу.
Т.к. страница не обновляется, то урл тоже не меняется.
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39143845
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema1742. делаю аякс запрос(нажимаю на ссылку) на стр. 4 (перерисовалось только то, что должно было, т.е. все ок)
т.о. сейчас стр. 4
покажи ссылку. Это НЕ AJAX.
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39143846
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

ты неправильно понял "перерисовалось только то, что должно было"
т.е. обновляется не все страница а только ее часть - это аякс

но вопрос не про это. мне интеренсо как вы потом по ссылке назад ходите...
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39143848
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

у меня базовая страница одна , а перерисовкой достигается то, что получается новая страница (название страницы осталось тоже самое), т.е. с новым номером страницы и с новым контентом.
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39143850
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В современных браузерах есть History API: https://developer.mozilla.org/ru/docs/Web/API/History
Можно посмотреть, например, http://авторазбор.рф Страницы обновляются AJAX-ом, но можно возвращаться, как будто страница обновлялась штатно.
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39143852
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexander A. SakСтраницы обновляются AJAX-ом, но можно возвращаться, как будто страница обновлялась штатно.это вообще пипец какой-то - по каждому клику появляется прогресс бар
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39143856
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174Petro123,
ты неправильно понял "перерисовалось только то, что должно было"
т.е. обновляется не все страница а только ее часть - это аякс
но вопрос не про это. мне интеренсо как вы потом по ссылке назад ходите...
сначала нужно понять что у тебя происходит.
Поэтому говори технически правильно.
Назад перейти можно миллионом способов.
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39143857
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174,
ещё раз. Покажи ссылки переходов. А потом спрашивай как вернуться.
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39143858
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174т.е. обновляется не все страница а только ее часть - это аякс
тогда каким образом ты оказался тна странице 4 с первой?
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39143859
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174Alexander A. SakСтраницы обновляются AJAX-ом, но можно возвращаться, как будто страница обновлялась штатно.это вообще пипец какой-то - по каждому клику появляется прогресс бар
)))
они считают что это круто)
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39143862
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174у меня базовая страница одна , а перерисовкой достигается то, что получается новая страница (название страницы осталось тоже самое), т.е. с новым номером страницы и с новым контентом.
пипец.
Переведи абзац с языка для домохозяек в язык со словами Страница.jsp, Url и т.д.
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39143864
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander A. SakМожно посмотреть, например, http://авторазбор.рф С
анекдот с этим сайтом.
- нашли на нём нужное
- перетащили ярлык на рабочий стол
- для теста стёрли куки. Вполне нормально для нормальных сайтов.
- писец. Теперь по ярлыку ВЕСЬ сайт не открывается
авторFirefox не может найти сервер d.
т.к. в ярлыке было от наших пионеров писателей по AJAX
https://d/catalog/Infiniti/M_Q70 (Y51) 2010>/Kuzov vnutri/Petlya dveri zadnej pravoj nizhnyaya
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39143877
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чего так на сайт возбудились? Вопрос-то был про то, как поиметь аякс и не потерять историю. На сайте есть и аякс и история. К пуговицам претензии есть? (с)
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39143886
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander A. Sak,
а зачем показывать то, как не надо делать?
аякс\история\get post взаимосвязанные вещи.
Надеюсь теперь это понятно, что можно дров наломать.
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39143888
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander A. SakНа сайте есть и аякс и история
если буквально, то заход с ярлыка тоже история.
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39143889
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Alexander A. SakМожно посмотреть, например, http://авторазбор.рф С
анекдот с этим сайтом.
- нашли на нём нужное
- перетащили ярлык на рабочий стол
- для теста стёрли куки. Вполне нормально для нормальных сайтов.
- писец. Теперь по ярлыку ВЕСЬ сайт не открывается
авторFirefox не может найти сервер d.
т.к. в ярлыке было от наших пионеров писателей по AJAX
https://d/catalog/Infiniti/M_Q70 (Y51) 2010>/Kuzov vnutri/Petlya dveri zadnej pravoj nizhnyaya

Разве AJAX и ярлыки на рабочем столе как-то связаны?

Сразу отмажусь: автор сайта -- не я. Но стало интересно с ярлыками. У меня Linux+XFCE. В нем создать ярлык не получилось: на рабочий стол копируется файл с HTML-ем. Полез виндой 7. Да, в ярлыке какая-то хрень. Причем не https://d/catalog..., а перед "d" еще дрянь всякая. Попробовал сделать ярлык на сайт http://превед.рф Та же история. Может, дело не в аяксе?
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39143901
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander A. SakРазве AJAX и ярлыки на рабочем столе как-то связаны?
конечно. Через урл.
Alexander A. SakУ меня Linux+XFCE. В нем создать ярлык не получилось
убунту 14 - всё ОК.
Может ты не так делал? Взять за иконку где урл и перетащить на раб.стол.
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39143903
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander A. SakРазве AJAX и ярлыки на рабочем столе как-то связаны?
AJAX не должен менять урл. Тогда не будет перезапроса всей страницы.
Он сам его и не меняет). У него такого кода нет.
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39143911
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да-да, взял за иконку где урл и перетащил на рабочий стол.
На OpenSUSE+XFCE ярлык не создается. Создается файл с HTML-ем. Типа Save As.
На Убунте 12.04 с Unity ярлык создается правильно. Посмотрел что внутри этого ярлыка. В парметре URL тот же самый URL, что был в строке браузера.
То есть проблема-то получается в Винде+FF, а не AJAX.
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39143913
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander A. SakТо есть проблема-то получается в Винде+FF, а не AJAX.
нет.
Посмотри в Firebug - сайт урл имеет один, а по AJAX запросы шлёт в другую сторону.
Возьми и протестируй его. Мне лень.
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39143914
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Alexander A. SakРазве AJAX и ярлыки на рабочем столе как-то связаны?
AJAX не должен менять урл. Тогда не будет перезапроса всей страницы.
Он сам его и не меняет). У него такого кода нет.

Что-то не понял я этого поста. AJAX конечно же не меняет урл. Урл меняется с помощью History API.
На этом несчастном авторазбор.рф урл меняется через History API. Страница обновляется частично, это видно в Инспекторе браузера.

Если отбросить претензии по дизайну, то это именно то, о чем спрашивал ТС: как обновлять страницу аяксом и при этом правильно ходить кнопкой "Назад".
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39143917
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander A. SakЧто-то не понял я этого поста. AJAX конечно же не меняет урл. Урл меняется с помощью History API.
Я всегда иду от простого. От печки.
При запуске AJAX напр. от кнопки - урл не меняется.
Далее нажимаем F5 и у нас всё по AJAX пропало.
Надо это или нет по БЛ. Вот в чём вопрос.
А потом уже история.
Думать за аффтара что у него там происходит - ну нафиг.
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39143919
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще, AJAX сайты строят в основном с единой точкой входа. Как GWT\Vaadin например.
По умолчанию, в Java не нужны и вредны такие проекты.
Опять же - не знаю что у аффтара.
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39144243
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174а джейквери отправляет запрос на сервер и получает нужно содержимое по номеру указанной страницы и обновляет содержимое окна, проблема только в том что невозможно перейти "назад" в браузере.

Только если писать свой обработчик на нажатие кнопки назад.
Геморно и возможно глючно, но больше никак.
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39144322
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123rema174пропущено...
это вообще пипец какой-то - по каждому клику появляется прогресс бар
)))
они считают что это круто)

так это круто и называется юзабилити.
т.е. если страница грузится дольше обычного нажал и ничего не происходит пользователь теряется, чтобы этого не происходило и делается баннер загрузки который показывает что всетаки что то происходит.

другой вопрос что можно было повесить задержку на появление баннера скажем на 200мс и если загрузка данных не успела произойти за это время то показывать прогресс бар.

всего не предусмотреть.
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39144341
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
llemingдругой вопрос что можно было повесить задержку на появление баннера скажем на 200мс и если загрузка данных не успела произойти за это время то показывать прогресс бар.
а я про что.
Представь что сайт sql_ru на любое движение будет эту фигню ставить.
Я например, продолжаю читать тему, пока что-то там грузится))).
Т.е. прогрессбар-часики крутятся только в адресной строке!
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39144345
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming,
другой момент, что у них Full AJAX))
А он работает медленно, если обновлять слишком много. Даже медленне обычного GET т.к. обновляется DOM руками.
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39144346
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скорее всего какой нить готовый фреймворк использовался вот и прогресс бар по умолчанию появился.

в вот насчет кривых ссылок на десктопе так там проблема с кирилицей firefox портит ссылки а вот chome нормально делает
правда http://превед.рф превратилось в http://xn--b1aebb1cg.xn--p1ai/
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39144354
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нашел описание здесь http://wservices.ru/idnconv.php про IDN
вот firefox по ходу не шарит и не конвертит правильно кирилическое имя сайта и хром делает все верно
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39144369
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming,
я долго не копал. Пару минут всего.
Про проблемы с русскими дОменами я знаю. бывает такая бяка.
Почему у него ярлык стал вдруг с другим доменом я тоже не копал.
Их кривые руки или кривой фокс не знаю.
Сделал тест-прецендент, он не сработал. Проверь на хроме.
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39144388
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на хроме работает

на firefox алгоритм хитрый какой то с белыми листами еще https://wiki.mozilla.org/IDN_Display_Algorithm
на chome свой алгоритм https://www.chromium.org/developers/design-documents/idn-in-google-chrome

из за атаки с подменой совпадающих по очертанию символов

все это к тому что проблема больше с кирилицей нежели с аяксом.
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39144426
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
llemingвсе это к тому что проблема больше с кирилицей нежели с аяксом
конкретный выше кейс возможно.
Но дальше то, куди ни ткни, там проблема.
- что за AJAX при разворачивании ветки дерева замораживается (модально) весь контент странички (серым дивом)?
Это юмор такой или AJAX шиворот на выворот?
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39144582
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Представь что сайт sql_ru на любое движение будет эту фигню ставить.
Я например, продолжаю читать тему, пока что-то там грузится))).
Т.е. прогрессбар-часики крутятся только в адресной строке!
Если речь про развлекательный сайт, вопросов нет. Вот у нас в системе, люди иногда в поддержку успевают позвонить, почему у них кнопка не активна и просят именно прогресс бар - мол грузится новый отчет. Ситуации и пользователи они разные бывают.
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39144607
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей АрсеньевСитуации и пользователи они разные бывают
да разные бывают.
У них ситуация возведена в абсолют и прибита гвоздями. На каждый запрос блокировать экран.
Мы тут говорим о преимуществах AJAX или его недостатках?
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39144611
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей АрсеньевВот у нас в системе, люди иногда в поддержку успевают позвонить
если отчёт больше N секунд, его надо заказывать и брать в указанном линке.
Образец - сотовые операторы\ГОСуслуги и т.д.
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39144982
breath
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39144991
breath
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://javascript.ru/blog/pharrell/ajax-history-API
еще есть localStorage на js
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39145041
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174как управлять историей браузера при аякс запросеjquery-history
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39145311
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123если отчёт больше N секунд, его надо заказывать и брать в указанном линке.
Образец - сотовые операторы\ГОСуслуги и т.д.
Так в том то и дело, что он не готов (нет его по этому линку) - система не работает.
Часики крутятся - система работает.

Такая простая и неказистая логика у людей.
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39145333
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OFF
Сергей АрсеньевТак в том то и дело, что он не готов (нет его по этому линку) - система не работает.
Часики крутятся - система работает.
По какому ВИ (варианту использования)?
По тому что я говорил: Написать сообщение: "Отчёт будет готов на вкладке Заказанные отчёты через ~15 мин.".
Для корпоратива моржно довольно точное число опытным путём поставить.
Пусть хоть завтра туда заходит.
...
Часики у тебя вероятно, потому что не асинхронно, а в этот же поток ответа генеришь результат word.
Так что я не понял, что ты именно не понял в данном ВИ.
....
Насчёт того что они подумают что программа-бездельник)). У меня таких тупых юзверей нету).
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39145349
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

У меня может и асинхронно, но нет отчета - система не работает. Повесил часики - вопросов у пользователей нет - система работает - это наглядно видно.
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39145356
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Другое дело, что помимо стрелки назад, пользователь может вытащить ярлык на рабочий стол и открыть его в соседнем окне. Так что серверную часть надо проектировать с учетом того, что пользователь может и повторять и переделывать старые действия.
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39145361
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Арсеньев,
ok
аффтар не сказал как он смену страниц, зачем то по AJAX делает, так что пусть сам аффтар и мается.
Удачи ему!
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39145387
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

аффтар ужа замаился, там же нужно будет учитывать еще переходы на другие страницы, не аяксовые - сложностей больше, чем профита

возможно с этими плагинами, которые тут озвучили, это не сложно, но там надо еще разбираться, как но работает и как его прикруить, и подразумевает хороший бекграунд на js
...
Рейтинг: 0 / 0
как управлять историей браузера при аякс запросе
    #39145419
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174аффтар ужа замаился, там же нужно будет учитывать еще переходы на другие страницы, не аяксовые - сложностей больше, чем профита
профит в умеренности.
У меня POST\GET - 0.1 - 0.3 сек.
AJAX только там где он нужен (табличка\контрол\валидация)
...
Рейтинг: 0 / 0
46 сообщений из 46, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / как управлять историей браузера при аякс запросе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]