History.js не запускается window.onstatechange - PullRequest
3 голосов
/ 14 декабря 2011

Я просто новичок в JS, так что, может быть, я просто не понимаю это правильно.Но разве window.onstatechange не должен срабатывать, когда вы нажимаете кнопку «назад / вперед» вашего браузера, когда вы ранее изменили состояние с помощью History.stateObj?

Я действительно вижу, как объект меняется в консоли Firebug,но window.onstatechange просто не выстрелит!Также - очень странно - когда я использую window.onpopstate вместо этого, объект больше не меняется (при использовании кнопки назад / вперед).

Вот что я делаю:

$('.container').click(function(e) {
        e.preventDefault();
        var title = $(this).data('title');
        stateObj = { show: title }
        History.pushState(stateObj, document.title, '?show=' + title);
}

window.onstatechange = function() {     
            var title = History.getState().data['show'];
            alert('title');
}

Из здесь я уже узнал, что мне нужно использовать

History.Adapter.bind(window,'statechange',function(){
            var title = History.getState().data['show'];
            alert('title');

});

..., который работает, но я до сих пор не понимаю, почему window.onstatechange не сработает?!

// РЕДАКТИРОВАТЬ: Открыл тикет на Github

Есть предложения?

...