JQuery: как я могу проверить, есть ли фрагмент в URL, когда я нажимаю кнопку назад браузера - PullRequest
1 голос
/ 28 июня 2011

Я знаю, что существует множество плагинов, которые могут заархивировать это, но я думаю, что хочу сделать простой для изучения, потому что я зашел так далеко, что могу изменить URL с помощью location.hash при загрузке страницы ajax.

Теперь мне нужно только выяснить - как я могу просто использовать jquery, чтобы проверить, есть ли фрагмент в URL, когда я нажимаю кнопку "Назад" в браузере?

Я сталкивался с этой простой концепцией, но она работает, только если я нажму кнопку обновления браузера, но не кнопку возврата,

$(document).ready(function(){    

if(window.location.hash) {

    // Fragment exists

    var hash = location.hash;
    alert(hash);

  } else {
    // Fragment doesn't exist
  }

});

Не могли бы вы дать мне руководство?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 12 мая 2013

JQuery имеет средство для имитации события hashchange для старых браузеров - в основном он работает путем опроса URL.Вы также можете подумать о том, что вы хотите делать с перенаправлениями, например, для проверки подлинности)

0 голосов
/ 28 июня 2011

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

https://github.com/cowboy/jquery-hashchange/blob/master/jquery.ba-hashchange.js

...