Javascript pushState, onpopstate — после ~ 10 состояний — нажатие 5-го шага (кнопка «Назад») и вывод 4-го шага

Код, использующий pushState

        window.history.pushState({"html":r[0],"pageTitle":r[1], 'bread_crumbs': r[2], 'page': r[3], 'parentid': r[4], 'pageid': r[5]},"", h);

Код, используемый для проверки состояний

window.onpopstate = function(e) {
    console.log(e.state.page+'|'+location.href);

Итак, допустим, я посетил 10 страниц - когда я нажимаю на страницу № 5, в браузере отображается хороший заголовок. Но по какой-то странной причине выводит страницу №4.

Это работает, если я нажимаю кнопку «Назад», может быть, вы знаете, что Chrome отображает все шаги после нажатия второй кнопки мыши. Итак, здесь происходит эта проблема.

Спасибо.

Вы можете попробовать это здесь http://demo.ajax-cart.com/

Нажмите 1. Тестовая категория 2. Бренды 3. Блог 4. О нас 5. Новости

Перейдите с помощью кнопки «Назад» в «Наш блог» - вы увидите «Бренды».


person OlegKhorev    schedule 05.05.2018    source источник


Ответы (1)


я нашел решение

Это было

            document.title = r[1];
            window.history.pushState({"html":r[0],"pageTitle":r[1], 'bread_crumbs': r[2], 'page': r[3], 'parentid': r[4], 'pageid': r[5]},"", h);

Но это должно быть

        window.history.pushState({"html":r[0],"pageTitle":r[1], 'bread_crumbs': r[2], 'page': r[3], 'parentid': r[4], 'pageid': r[5]},"", h);
        document.title = r[1];
person OlegKhorev    schedule 05.05.2018