событие срабатывает если вы в браузере нажали кнопку назад или вперед.
<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, время: 00:48. |