Не срабатывает onpopstate

Q_BASIC

Хранитель порядка
Регистрация
30 Ноя 2013
Сообщения
516
Реакции
1.240
Приветствую,

Есть такой код.

Суть:
Пользователь заходит на страницу, после нажимает назад и попадает на страницу back.html, а не туда, откуда пришел.

Но проблема в том, что код работает через раз. Он именно то работает, то нет. Временами при клике назад человек попадает на страницу, откуда пришел, а временами на back.html

В чем может быть проблема?

HTML:
<script>
window.history.pushState(null, null, 'app.html?a');

window.onpopstate = function(e){
    window.location.href = 'back.html';
};

</script>

Наш сайт
 
Пользователь заходит на страницу, после нажимает назад и попадает на страницу back.html, а не туда, откуда пришел.

Но проблема в том, что код работает через раз. Он именно то работает, то нет. Временами при клике назад человек попадает на страницу, откуда пришел, а временами на back.html

В чем может быть проблема?

HTML:
<script>
window.history.pushState(null, null, 'app.html?a');

window.onpopstate = function(e){
    window.location.href = 'back.html';
};

</script>

Наш сайт
Попробуйте так:
Код:
history.pushState(null, document.title, location.href);
window.addEventListener('popstate', function(e)
{
  history.pushState(null, document.title, location.href);
  location.href = 'back.html';
});
 
Попробуйте так:
Код:
history.pushState(null, document.title, location.href);
window.addEventListener('popstate', function(e)
{
  history.pushState(null, document.title, location.href);
  location.href = 'back.html';
});
Не меняется ничего. По-моему, тут баг какой-то.

Захожу на страницу - нажимаю назад - попадаю на страницу откуда пришел.

Просто открываю консоль в браузере - сразу начитает код работать и после этого уже при нажатии назад попадаю на back.html
 
Назад
Сверху