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

Есть сайт - вот он
На этой странице есть фильтр, на десктопе он отрабатывает без перезагрузки.
Недавно пришел на поддержку это сайта и первая задача была мобильная версия.
Эту же страницу можно посмотреть в мобильном виде - вот (только с компа надо выбрать отображение с какого нибудь моб.устройства)
И вот на мобилках фильтр не работает. Начал разбираться, первое на что можно подумать - это сообщение в консоли
5c176540d7685681843660.png
Что то с функцией window.History.pushState
Если попробовать ее вызвать в консоли, то пишет что is not a function, хотя если так же ее вызвать но в десктопной версии то window.History.pushState() вернет true
Когда делал моб.шаблон мог затереть какие нибудь js скрипты.
Не знаю куда дальше копать. Помогите кто чем сможет.
  • Вопрос задан
  • 70 просмотров
Решения вопроса 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" (с маленькой буквы)
Ответ написан
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы
Digital Sharks Казань
от 60 000 до 65 000 руб.
Ingram Micro Cloud Москва
от 170 000 руб.
CODEFATHER Москва
от 70 000 до 150 000 руб.