Сведения о вопросе

Electro Full

10:30, 14th August, 2020

Теги

Как синхронизировать историю браузера при использовании Ajax?

Просмотров: 448   Ответов: 8

Я пишу простое приложение для фотоальбома, используя ASP.NET Ajax.
Приложение использует асинхронные вызовы Ajax для предварительной загрузки следующей фотографии в альбом, не изменяя URL в браузере.

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

Есть ли способ обмануть браузер, чтобы добавить каждый вызов Ajax в историю просмотров?



  Сведения об ответе

DO__IT

10:03, 6th August, 2020

Обновление: теперь существует HTML5 History API (pushState, popState), который не поддерживает функциональность HTML4 hashchange . History.js обеспечивает кроссбраузерную совместимость и дополнительный резервный вариант hashchange для браузеров HTML4.

Ответ на этот вопрос будет более или менее таким же, как и мои ответы на эти вопросы:

Таким образом, вы определенно захотите проверить эти два проекта, которые объясняют весь процесс hashchange и добавление ajax в микс:

  • jQuery история (использование хэшей для управления состоянием страниц и привязки к изменениям для обновления страницы).

  • jQuery Ajaxy (расширение ajax для jQuery истории, чтобы обеспечить полный ajax веб-сайтов, будучи полностью ненавязчивым и изящно деградируемым).


  Сведения об ответе

ЯЯ__4

14:00, 15th August, 2020

  Сведения об ответе

appple

03:31, 22nd August, 2020

Многие веб-сайты используют скрытый iframe, чтобы сделать это, просто обновите iframe с новым URL, который добавляет его в историю просмотров. Тогда все, что вам нужно сделать, это обработать, как ваше приложение реагирует на эти события 'back button' - вам нужно будет либо определить состояние/местоположение iframe, либо обновить страницу с помощью этого URL.


  Сведения об ответе

fo_I_K

04:32, 19th August, 2020

Вы можете использовать простой & легкий PathJS lib.

Пример использования:

Path.map("#/page1").to(function(){
    ...
});

Path.map("#/page2").to(function(){
    ...
});

Path.root("#/mainpage");
Path.listen();


  Сведения об ответе

nYU

11:05, 20th August, 2020

Обновление 3.5 SP1 теперь поддерживает историю браузера и кнопку Назад в ASP.NET ajax.


  Сведения об ответе

screen

13:44, 15th August, 2020

Для всех решений, связанных с кнопкой назад, ни одно из них не является "automatic". С каждым из них вам придется проделать определенную работу, чтобы сохранить состояние страницы. Так что нет, нет никакого способа "trick" браузер, но есть некоторые большие библиотеки, которые помогут вам с кнопкой Назад.


  Сведения об ответе

Chhiki

00:32, 11th August, 2020

Информация: Ajax навигация-это обычная функция предстоящего IE8.


  Сведения об ответе

#hash

16:16, 2nd August, 2020

Если вы используете Rails, то обязательно попробуйте Wiselinks https://github.com/igor-alexandrov/wiselinks . Это Швейцарский армейский нож для управления государством браузера. Вот некоторые подробности: http://igor-alexandrov.github.io/blog/2013/07/11/the-way-to-wiselinks-1-dot-0/ .


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться