Событие popstate HTML5 прошло нуль

Я столкнулся со странной проблемой, когда popstate возвращает значение null независимо от того, даже если pushState сработал семь или восемь раз.

window.addEventListener('popstate', function(event) {

    console.log(event.state);

});

Я также пробовал:

window.onpopstate = function(event) {
        console.log(event.state);
};

Но не повезло. Я использую Хром.


person Adam    schedule 25.12.2014    source источник
comment
Согласно документации... Обратите внимание, что простой вызов history.pushState() или history.replaceState() не вызовет событие popstate. Событие popstate запускается только при выполнении действия браузера, такого как нажатие кнопки «Назад» (или вызов history.back() в JavaScript). ... developer.mozilla.org/en-US/docs/Web /События/поп-состояние   -  person rfornal    schedule 25.12.2014
comment
Да, я должен был уточнить, я все еще получаю ноль даже при использовании кнопок браузера «назад» или «вперед».   -  person Adam    schedule 25.12.2014
comment
возможный дубликат привязки окна POPSTATE   -  person OnlyMAJ    schedule 25.12.2014
comment
ОК ... Я также заметил, что state иногда был пуст; у тебя есть что-нибудь с console.log(event)?   -  person rfornal    schedule 25.12.2014
comment
@OnlyMAJ Это не дубликат. Меня не волнует, срабатывает ли это при начальной загрузке, я хочу, чтобы popstate работал только при навигации с помощью кнопок браузера вперед/назад.   -  person Adam    schedule 25.12.2014
comment
@rfornal Я получаю кое-что с событием. Он показывает PopStateEvent {состояние: null, clipboardData: undefined, path: NodeList[0], cancelBubble: false, returnValue: true…}   -  person Adam    schedule 25.12.2014
comment
Не уверен, почему это было связано с вопросом о другой проблеме?   -  person Adam    schedule 25.12.2014


Ответы (1)


Проблема была в том, что я неправильно устанавливал переменную pushState.

person Adam    schedule 25.12.2014