Почему window.History.pushState is not a function?

Есть сайт - вот он
На этой странице есть фильтр, на десктопе он отрабатывает без перезагрузки.
Недавно пришел на поддержку это сайта и первая задача была мобильная версия.
Эту же страницу можно посмотреть в мобильном виде - вот (только с компа надо выбрать отображение с какого нибудь моб.устройства)
И вот на мобилках фильтр не работает. Начал разбираться, первое на что можно подумать - это сообщение в консоли
5c176540d7685681843660.png
Что то с функцией window.History.pushState
Если попробовать ее вызвать в консоли, то пишет что is not a function, хотя если так же ее вызвать но в десктопной версии то window.History.pushState() вернет true
Когда делал моб.шаблон мог затереть какие нибудь js скрипты.
Не знаю куда дальше копать. Помогите кто чем сможет.
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
@tyzberd
есть такой код
JCSmartFilter.prototype.filterCatalog = function(t, e) {
    window.History.enabled || null != window.history.pushState ? window.History.pushState(null, document.title, t) : location.href = t,


window.History.pushState(null, document.title, t) это эмуляция и метод тут https://somebox.ru/bitrix/cache/js/s1/aspro_optimu...

m.pushState = function(b, c, d, e) {
                if (m.getHashByUrl(d) && m.emulated.pushState)
                    throw new Error("History.js does not support states with fragement-identifiers (hashes/anchors).");
                if (e !== !1 && m.busy())
                    return m.pushQueue({
                        scope: m,
                        callback: m.pushState,
                        args: arguments,
                        queue: e
                    }),
                    !1;
                m.busy(!0);
                var f = m.createStateObject(b, c, d);
                return m.isLastSavedState(f) ? m.busy(!1) : (m.storeState(f),
                m.expectedStateId = f.id,
                n.pushState(f.id, f.title, f.url),
                m.Adapter.trigger(a, "popstate")),
                !0
            }

На моб этот файл не подключается поэтому ошибка
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
miraage
@miraage
Lead Software Engineer
History - глобальный "интерфейс".
А уже сам объект - "window.history" (с маленькой буквы)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы