кнопка «Назад назад» не обновляет страницу

Я устанавливаю URL-адрес после хэш-метки с помощью события jquery click. URL-адрес устанавливается правильно, но когда я использую кнопку возврата браузеров, это не приводит меня к предыдущей странице.

До моего события click URL выглядит следующим образом:

http://example.com/menu.php?home 

Событие с кликом выглядит так:

 $('#visits').click(function() { $('#main').load("visits.php?type=1&view=1", function () { location.href = "#visits"; }); return false; }); 

Теперь мой URL выглядит следующим образом:

 http://example.com/menu.php?home#visits 

Кажется, что menu.php не вызывается с помощью кнопки возврата браузеров.

Любая идея, что мне не хватает?

Related of "кнопка «Назад назад» не обновляет страницу"

Вы могли бы написать что-то вроде этого:

 var _hash = '';

 function myHashChangeCallback (hash) {
     // обрабатывать хэш-изменение
     // загружать некоторую страницу с помощью ajax и т. д.
 }

 функция hashCheck () {
     var hash = window.location.hash;
     if (hash! = _hash) {
         _hash = hash;
         myHashChangeCallback (хэш);
     }
 }

 setInterval (hashCheck, 100);

Используйте событие onhashchange в окне, чтобы проверить, изменяется ли хэш. Это вызвано, когда вы нажимаете кнопку «Назад» вашего браузера.

 $(window).bind('hashchange',function() { if (location.hash != '#visits') { //Code to revert the changes on the page } } 

Старые версии IE не поддерживают hashchange, поэтому вам нужно обмануть, используя setInterval для опроса несколько раз в секунду и проверьте, не изменилось ли оно.

 if($.browser.msie && $.browser.version < 7){ setInterval(function(){ if(window.location.hash != window.lastHash){ hashChangeHandler(); window.lastHash = window.location.hash; } }, 100); } else{ $(window).bind('hashchange',function() { if (location.hash != '#visits') { hashChangeHandler(); } } }