Функция загрузки jQuery, не позволяет кнопку назад? - PullRequest
1 голос
/ 27 февраля 2012

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

Я добавил следующий код, чтобы фактически изменить URL пользователя, когда функция javascriptused:

var stateObj = { foo: page };
history.pushState(stateObj, page, page);

Я предполагал, что это сработает так, как я хотел, но, к сожалению, URL-адрес изменится, но содержимое страницы останется без изменений.

Кто-нибудь знает, как я могузагрузить последнюю страницу?Не динамически, просто обычно, как любая обычная кнопка «назад» будет работать.

Если вам нужен пример того, что на самом деле происходит, вы можете посетить временный URL: http://goo.gl/0BOUV
Вам нужновойдите в систему, поэтому вот некоторые данные для входа:Электронная почта: test@email.comПароль: пароль

1 Ответ

2 голосов
/ 27 февраля 2012

Если вы используете pushState для изменения отображаемого URL-адреса, то когда пользователь нажимает «назад», браузер не перезагружает URL-адрес напрямую.Вместо этого он запускает событие onpopstate.См. документацию Mozilla для получения подробной информации.Вам необходимо написать обработчик для этого события, который перезагружает соответствующую страницу на основе данных о состоянии.

Кстати, pushState - это новая функция HTML5, поэтому она доступна не во всех браузерах.Библиотека History.js , о которой упоминает @Blender, обеспечивает хороший уровень кросс-браузерной совместимости.Даже с библиотекой вам все равно нужно обрабатывать событие изменения состояния, когда пользователь использует кнопку возврата.

...