событие срабатывает если вы в браузере нажали кнопку назад или вперед.
<script type="text/javascript" src="http://code.spb-piksel.ru/history-1.2.4.min.js"></script> <script type="text/javascript"> var method = window.addEventListener ? ['addEventListener', ''] : ['attachEvent', 'on']; window[ method[ 0 ] ]( method[ 1 ] + 'popstate', function( e ) { var loc = e.location || document.location; alert( "return to: " + loc ); }, false); setTimeout(function() { history.pushState({page: 1}, "title 1", "?page=1"); }, 2000); </script> |
Жаль. Значит всё-таки придётся следить за сменой урла. Спс за ответ
|
Цитата:
|
Посмотрел Ваши функции на сайте и разобрался :)
|
И снова я и снова ie :-? Страничка посылает ajax запросы, и вот иногда когда приходят данные IE вызывает JSON.parse (не из моей функции, а походу где-то в либе) с значением null. Отключаю Ваш скрипт, сё нормально сразу. Баг не баг, я пробовал на ie8-9.
|
Цитата:
|
Нашёл косяк. У меня json либа была старая, и JSON.parse(null) вылетал в ие.
Вот тут data == null. // dispatch "popstate" event if location changed firePopState = function( location ) { his.state = null; if ( window.sessionStorage ) { var data = sessionStorage.getItem( lastHash ); if ( window.JSON && JSON.parse ) { his.state = JSON.parse( data ); } else { his.state = (new Function( "return " + data ))(); } |
Цитата:
|
и всё таки если обновить страницу то переходим на главную страницу, а URL не меняется, логичнее оставаться на этой же странице.
а сдругой стороны кажется это не возможно... к сожалению знания не такие глубокие , чтобы реализовать подобное |
Цитата:
|
Часовой пояс GMT +3, время: 21:48. |