Я просто новичок в 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
Есть предложения?