Как узнать, нажимает ли пользователь кнопку «назад»? - PullRequest
2 голосов
/ 25 сентября 2010

Я использую якоря для работы с уникальными URL для сайта ajaxy.Однако я хочу перезагрузить контент, когда пользователь нажимает кнопку «Назад» в браузере, чтобы контент всегда соответствовал URL.

Как мне этого добиться?Есть ли событие jQuery, которое запускается, когда пользователь нажимает «Назад»?

Ответы [ 3 ]

1 голос
/ 25 сентября 2010

Вам необходимо использовать событие hashchange. Есть пара популярных плагинов. Я использую плагин адреса и мне нравится. Некоторые также предложат барбекю.

Адресный плагин

JQuery BBQ

1 голос
/ 25 сентября 2010

Если вы используете URL-адреса ajax и не перезагружаете страницу, я предполагаю, что у вас есть URL-адреса в стиле #something с использованием хеш-навигации.Если это так, вы, вероятно, хотите, чтобы событие window.onhashchange перезагрузило соответствующий контент.

Так как оно не поддерживается всеми браузерами, есть плагиндля этого ваш код будет выглядеть примерно так:

$(window).hashchange(function() {
  //do something with location.hash that just changed
});
0 голосов
/ 25 сентября 2010

Менеджер истории YUI делает это, проверяя хэш каждые 10 мс, используя setInterval. Событие не зарегистрировано назад, так что это, вероятно, единственный возможный способ.

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