Проблема с кнопкой "Назад" в сочетании с jQuery / Ajax & history.pushState - PullRequest
1 голос
/ 02 августа 2011

В настоящее время я работаю над сайтом, который использует AJAX для «прокрутки» различных страниц. Я также использую window.history.pushState, чтобы изменить URL.

Допустим, вы находитесь на «mywebsite.com», и вы нажимаете «Страница 1» в меню. Затем текущий контент исчезает, а контент страницы 1 исчезает без перезагрузки страницы. Также URL-адрес изменяется с mywebsite.com на mywebsite.com/page_1/. Это все отлично работает!

Когда я нажимаю кнопку «Назад», URL-адрес снова меняется на «mywebsite.com», но исходный контент не «перезагружается». Я знаю, что есть способ исправить это с помощью хэштегов, но я не хочу, чтобы это работало.

Я надеюсь, что некоторые могут мне помочь. Буду очень признателен!

1 Ответ

1 голос
/ 02 августа 2011

Браузер не будет автоматически восстанавливать состояние страницы. Вместо этого он запустит событие popstate и оставит вас для формулирования страницы по вашему желанию.

Поэтому вам нужно подписаться на событие onpopstate .

(Очевидно, что только браузеры, которые поддерживают API истории HTML5, будут поддерживать это).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...