В каких случаях окно window.history.state становится нулевым в браузере?Jquery

Программирование на jquery
Ответить Пред. темаСлед. тема
Anonymous
 В каких случаях окно window.history.state становится нулевым в браузере?

Сообщение Anonymous »


У меня есть URL-адрес строки запроса моего веб-сайта, например:

?budget=0-&year=0-&kms=0-&so=-1&sc=-1&pn=1 Когда пользователь переходит на следующую страницу (со страницы 1 на страницу 2):
[*]
Мы явно увеличиваем pn (номер страницы на 1) и устанавливаем его в URL-адрес строки запроса.

Изменена строка запроса:

?budget=0-&year=0-&kms=0-&so=-1&sc=-1&pn=2 Я также сохраняю старую строку запроса, она выглядит так:

?budget=0-&year=0-&kms=0-&so=-1&sc=-1&pn=1 [*]Затем я помещаю оба файла в историю окон, чтобы изменить URL-адрес и сохранить предыдущий для браузера:

window.history.pushState(oldQS, null, newQS); [*]После этого, когда я нахожусь на странице 2, я проверяю window.history.state. Он хранит мое предыдущее состояние:

?budget=0-&year=0-&kms=0-&so=-1&sc=-1&pn=1 [*]Я нажимаю браузер со страницы 2, чтобы вернуться на страницу 1. Я поставил точку останова:

$(window).on('popstate', function(e) { console.log(e.originalEvent.state) }); e.originalEvent.state имеет значение null.
Наблюдения: [*]window.history.state не имеет значения null и сохраняет правильное значение, когда я нахожусь на странице 2. [*]Он получает значение null, когда я возвращаюсь в браузер. Что я уже сделал:
(Не сработало.)
[*]
поставил точку останова на событие hashchange, но это не помогло, так как в URL-адресе нет #.
[*]
поместил точку останова на каждую функцию window.history в моем коде Javascript, например pushState(), replaceState(), но ни на одну из них он нажимается, когда я нажимаю кнопку браузера назад.

Я не знаю, какие еще места/функции нужно посмотреть, чтобы изменить window.history.state на null.

Как я могу выяснить, как и где он стал нулевым, нажав кнопку «Назад» в браузере?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Jquery»