|
|
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
Есть такая проблема, страницы обновляются аяксом, и таким образм не работает кнопка "назад" браузера. Как вы это решаете? Почему я спрашиваю, это тут т.к. приложение написано все-таки не на js а на java и возможно есть какое внятное решение... Юзер экспириенс такой: 1. перехожу по get запросу на list.jsp т.е. сейчас страница 1 (все в окне перерисовалось) 2. делаю аякс запрос(нажимаю на ссылку) на стр. 4 (перерисовалось только то, что должно было, т.е. все ок) т.о. сейчас стр. 4 3. делаю аякс запрос(нажимаю на ссылку) на стр. 5 (перерисовалось только то, что должно было, т.е. все ок) т.о. сейчас стр. 5 4. нажимаю "назад" (кнопка браузера) - НИЧЕГО не произошло, и в консолях тоже ничего не изменилось 5. нажимаю снова "назад" (кнопка браузера) - выполнился get запрос на страницу 1, т.е. получается этот шаг сработал правильно т.о. браузер не возвращает назад по истории на шаге 4... как это побороть? ссылки выглядят вот так: <a class="idPage" href="#">4</a> а джейквери отправляет запрос на сервер и получает нужно содержимое по номеру указанной страницы и обновляет содержимое окна, проблема только в том что невозможно перейти "назад" в браузере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2016, 18:00 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
rema174Есть такая проблема, страницы обновляются аяксом, и таким образм не работает кнопка "назад" браузера. аякс не обновляет страницы. Аякс получает данные в JS без обновления. При желании можно обновить регион-форму-контрол, т.е. часть страницы. Например, только таблицу. Т.к. страница не обновляется, то урл тоже не меняется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2016, 18:15 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
rema1742. делаю аякс запрос(нажимаю на ссылку) на стр. 4 (перерисовалось только то, что должно было, т.е. все ок) т.о. сейчас стр. 4 покажи ссылку. Это НЕ AJAX. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2016, 18:16 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
Petro123, ты неправильно понял "перерисовалось только то, что должно было" т.е. обновляется не все страница а только ее часть - это аякс но вопрос не про это. мне интеренсо как вы потом по ссылке назад ходите... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2016, 18:26 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
Petro123, у меня базовая страница одна , а перерисовкой достигается то, что получается новая страница (название страницы осталось тоже самое), т.е. с новым номером страницы и с новым контентом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2016, 18:32 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
В современных браузерах есть History API: https://developer.mozilla.org/ru/docs/Web/API/History Можно посмотреть, например, http://авторазбор.рф Страницы обновляются AJAX-ом, но можно возвращаться, как будто страница обновлялась штатно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2016, 18:38 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
Alexander A. SakСтраницы обновляются AJAX-ом, но можно возвращаться, как будто страница обновлялась штатно.это вообще пипец какой-то - по каждому клику появляется прогресс бар ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2016, 18:47 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
rema174Petro123, ты неправильно понял "перерисовалось только то, что должно было" т.е. обновляется не все страница а только ее часть - это аякс но вопрос не про это. мне интеренсо как вы потом по ссылке назад ходите... сначала нужно понять что у тебя происходит. Поэтому говори технически правильно. Назад перейти можно миллионом способов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2016, 18:58 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
rema174, ещё раз. Покажи ссылки переходов. А потом спрашивай как вернуться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2016, 18:59 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
rema174т.е. обновляется не все страница а только ее часть - это аякс тогда каким образом ты оказался тна странице 4 с первой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2016, 19:00 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
rema174Alexander A. SakСтраницы обновляются AJAX-ом, но можно возвращаться, как будто страница обновлялась штатно.это вообще пипец какой-то - по каждому клику появляется прогресс бар ))) они считают что это круто) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2016, 19:04 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
rema174у меня базовая страница одна , а перерисовкой достигается то, что получается новая страница (название страницы осталось тоже самое), т.е. с новым номером страницы и с новым контентом. пипец. Переведи абзац с языка для домохозяек в язык со словами Страница.jsp, Url и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2016, 19:08 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
Alexander A. SakМожно посмотреть, например, http://авторазбор.рф С анекдот с этим сайтом. - нашли на нём нужное - перетащили ярлык на рабочий стол - для теста стёрли куки. Вполне нормально для нормальных сайтов. - писец. Теперь по ярлыку ВЕСЬ сайт не открывается авторFirefox не может найти сервер d. т.к. в ярлыке было от наших пионеров писателей по AJAX https://d/catalog/Infiniti/M_Q70 (Y51) 2010>/Kuzov vnutri/Petlya dveri zadnej pravoj nizhnyaya ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2016, 19:14 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
А чего так на сайт возбудились? Вопрос-то был про то, как поиметь аякс и не потерять историю. На сайте есть и аякс и история. К пуговицам претензии есть? (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2016, 19:41 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
Alexander A. Sak, а зачем показывать то, как не надо делать? аякс\история\get post взаимосвязанные вещи. Надеюсь теперь это понятно, что можно дров наломать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2016, 19:54 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
Alexander A. SakНа сайте есть и аякс и история если буквально, то заход с ярлыка тоже история. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2016, 19:55 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
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://превед.рф Та же история. Может, дело не в аяксе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2016, 19:57 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
Alexander A. SakРазве AJAX и ярлыки на рабочем столе как-то связаны? конечно. Через урл. Alexander A. SakУ меня Linux+XFCE. В нем создать ярлык не получилось убунту 14 - всё ОК. Может ты не так делал? Взять за иконку где урл и перетащить на раб.стол. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2016, 20:19 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
Alexander A. SakРазве AJAX и ярлыки на рабочем столе как-то связаны? AJAX не должен менять урл. Тогда не будет перезапроса всей страницы. Он сам его и не меняет). У него такого кода нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2016, 20:21 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
Да-да, взял за иконку где урл и перетащил на рабочий стол. На OpenSUSE+XFCE ярлык не создается. Создается файл с HTML-ем. Типа Save As. На Убунте 12.04 с Unity ярлык создается правильно. Посмотрел что внутри этого ярлыка. В парметре URL тот же самый URL, что был в строке браузера. То есть проблема-то получается в Винде+FF, а не AJAX. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2016, 20:35 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
Alexander A. SakТо есть проблема-то получается в Винде+FF, а не AJAX. нет. Посмотри в Firebug - сайт урл имеет один, а по AJAX запросы шлёт в другую сторону. Возьми и протестируй его. Мне лень. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2016, 20:38 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
Petro123Alexander A. SakРазве AJAX и ярлыки на рабочем столе как-то связаны? AJAX не должен менять урл. Тогда не будет перезапроса всей страницы. Он сам его и не меняет). У него такого кода нет. Что-то не понял я этого поста. AJAX конечно же не меняет урл. Урл меняется с помощью History API. На этом несчастном авторазбор.рф урл меняется через History API. Страница обновляется частично, это видно в Инспекторе браузера. Если отбросить претензии по дизайну, то это именно то, о чем спрашивал ТС: как обновлять страницу аяксом и при этом правильно ходить кнопкой "Назад". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2016, 20:41 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
Alexander A. SakЧто-то не понял я этого поста. AJAX конечно же не меняет урл. Урл меняется с помощью History API. Я всегда иду от простого. От печки. При запуске AJAX напр. от кнопки - урл не меняется. Далее нажимаем F5 и у нас всё по AJAX пропало. Надо это или нет по БЛ. Вот в чём вопрос. А потом уже история. Думать за аффтара что у него там происходит - ну нафиг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2016, 20:53 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
Вообще, AJAX сайты строят в основном с единой точкой входа. Как GWT\Vaadin например. По умолчанию, в Java не нужны и вредны такие проекты. Опять же - не знаю что у аффтара. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2016, 20:58 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
rema174а джейквери отправляет запрос на сервер и получает нужно содержимое по номеру указанной страницы и обновляет содержимое окна, проблема только в том что невозможно перейти "назад" в браузере. Только если писать свой обработчик на нажатие кнопки назад. Геморно и возможно глючно, но больше никак. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2016, 09:20 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
Petro123rema174пропущено... это вообще пипец какой-то - по каждому клику появляется прогресс бар ))) они считают что это круто) так это круто и называется юзабилити. т.е. если страница грузится дольше обычного нажал и ничего не происходит пользователь теряется, чтобы этого не происходило и делается баннер загрузки который показывает что всетаки что то происходит. другой вопрос что можно было повесить задержку на появление баннера скажем на 200мс и если загрузка данных не успела произойти за это время то показывать прогресс бар. всего не предусмотреть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2016, 10:48 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
llemingдругой вопрос что можно было повесить задержку на появление баннера скажем на 200мс и если загрузка данных не успела произойти за это время то показывать прогресс бар. а я про что. Представь что сайт sql_ru на любое движение будет эту фигню ставить. Я например, продолжаю читать тему, пока что-то там грузится))). Т.е. прогрессбар-часики крутятся только в адресной строке! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2016, 11:03 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
lleming, другой момент, что у них Full AJAX)) А он работает медленно, если обновлять слишком много. Даже медленне обычного GET т.к. обновляется DOM руками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2016, 11:06 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
скорее всего какой нить готовый фреймворк использовался вот и прогресс бар по умолчанию появился. в вот насчет кривых ссылок на десктопе так там проблема с кирилицей firefox портит ссылки а вот chome нормально делает правда http://превед.рф превратилось в http://xn--b1aebb1cg.xn--p1ai/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2016, 11:06 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
нашел описание здесь http://wservices.ru/idnconv.php про IDN вот firefox по ходу не шарит и не конвертит правильно кирилическое имя сайта и хром делает все верно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2016, 11:11 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
lleming, я долго не копал. Пару минут всего. Про проблемы с русскими дОменами я знаю. бывает такая бяка. Почему у него ярлык стал вдруг с другим доменом я тоже не копал. Их кривые руки или кривой фокс не знаю. Сделал тест-прецендент, он не сработал. Проверь на хроме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2016, 11:24 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
на хроме работает на firefox алгоритм хитрый какой то с белыми листами еще https://wiki.mozilla.org/IDN_Display_Algorithm на chome свой алгоритм https://www.chromium.org/developers/design-documents/idn-in-google-chrome из за атаки с подменой совпадающих по очертанию символов все это к тому что проблема больше с кирилицей нежели с аяксом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2016, 11:41 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
llemingвсе это к тому что проблема больше с кирилицей нежели с аяксом конкретный выше кейс возможно. Но дальше то, куди ни ткни, там проблема. - что за AJAX при разворачивании ветки дерева замораживается (модально) весь контент странички (серым дивом)? Это юмор такой или AJAX шиворот на выворот? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2016, 12:09 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
Petro123Представь что сайт sql_ru на любое движение будет эту фигню ставить. Я например, продолжаю читать тему, пока что-то там грузится))). Т.е. прогрессбар-часики крутятся только в адресной строке! Если речь про развлекательный сайт, вопросов нет. Вот у нас в системе, люди иногда в поддержку успевают позвонить, почему у них кнопка не активна и просят именно прогресс бар - мол грузится новый отчет. Ситуации и пользователи они разные бывают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2016, 14:30 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевСитуации и пользователи они разные бывают да разные бывают. У них ситуация возведена в абсолют и прибита гвоздями. На каждый запрос блокировать экран. Мы тут говорим о преимуществах AJAX или его недостатках? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2016, 14:49 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевВот у нас в системе, люди иногда в поддержку успевают позвонить если отчёт больше N секунд, его надо заказывать и брать в указанном линке. Образец - сотовые операторы\ГОСуслуги и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2016, 14:50 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
window.location.href http://javascript.ru/window-location ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2016, 21:37 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
http://javascript.ru/blog/pharrell/ajax-history-API еще есть localStorage на js ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2016, 21:47 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
rema174как управлять историей браузера при аякс запросеjquery-history ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 00:30 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
Petro123если отчёт больше N секунд, его надо заказывать и брать в указанном линке. Образец - сотовые операторы\ГОСуслуги и т.д. Так в том то и дело, что он не готов (нет его по этому линку) - система не работает. Часики крутятся - система работает. Такая простая и неказистая логика у людей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 12:00 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
OFF Сергей АрсеньевТак в том то и дело, что он не готов (нет его по этому линку) - система не работает. Часики крутятся - система работает. По какому ВИ (варианту использования)? По тому что я говорил: Написать сообщение: "Отчёт будет готов на вкладке Заказанные отчёты через ~15 мин.". Для корпоратива моржно довольно точное число опытным путём поставить. Пусть хоть завтра туда заходит. ... Часики у тебя вероятно, потому что не асинхронно, а в этот же поток ответа генеришь результат word. Так что я не понял, что ты именно не понял в данном ВИ. .... Насчёт того что они подумают что программа-бездельник)). У меня таких тупых юзверей нету). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 12:14 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
Petro123, У меня может и асинхронно, но нет отчета - система не работает. Повесил часики - вопросов у пользователей нет - система работает - это наглядно видно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 12:22 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
Другое дело, что помимо стрелки назад, пользователь может вытащить ярлык на рабочий стол и открыть его в соседнем окне. Так что серверную часть надо проектировать с учетом того, что пользователь может и повторять и переделывать старые действия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 12:25 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
Сергей Арсеньев, ok аффтар не сказал как он смену страниц, зачем то по AJAX делает, так что пусть сам аффтар и мается. Удачи ему! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 12:27 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
Petro123, аффтар ужа замаился, там же нужно будет учитывать еще переходы на другие страницы, не аяксовые - сложностей больше, чем профита возможно с этими плагинами, которые тут озвучили, это не сложно, но там надо еще разбираться, как но работает и как его прикруить, и подразумевает хороший бекграунд на js ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 12:50 |
|
||
|
как управлять историей браузера при аякс запросе
|
|||
|---|---|---|---|
|
#18+
rema174аффтар ужа замаился, там же нужно будет учитывать еще переходы на другие страницы, не аяксовые - сложностей больше, чем профита профит в умеренности. У меня POST\GET - 0.1 - 0.3 сек. AJAX только там где он нужен (табличка\контрол\валидация) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2016, 13:13 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2124459]: |
0ms |
get settings: |
14ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
89ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
77ms |
get tp. blocked users: |
2ms |
| others: | 257ms |
| total: | 479ms |

| 0 / 0 |
