Почему window.onback ведет себя непредсказуемо в JavaScript?

При использовании кода, который должен препятствовать повторной отправке данных, возникает проблема: при переходе со второй страницы кнопка Назад не возвращает на исходную страницу. Пример альтернативного решения:

<script>
  var blockReturn = function() { history.go(1); };
  window.addEventListener('popstate', blockReturn, false);
</script>

Я лично столкнулся с такой проблемой, когда мой код на rely на onback был неустойчивым на некоторых браузерах. Кажется, дело в том, что onback не всегда правильно обрабатывает историю браузера и может вести себя неожиданно. Пришлось переходить на использование popstate и pushState, чтобы точнее управлять переходами. Хотя такой способ тоже не лишён нюансов, он в целом дает больше контроля за поведением страницы при возврате назад.

С моей практики стало понятно, что поведение window.onback непредсказуемо из-за различий реализации в браузерах. Событие просто не подчиняется стандартам, и его работа зависит от внутренних особенностей каждого браузера. Поэтому, если нужен стабильный контроль истории, лучше использовать события popstate вместе с pushState. Это решало многие проблемы, с которыми я сталкивался ранее.

Наблюдал, что непредсказуемость связана с особенностями разных браузеров. У меня помог переход на popstate, но всегда можно попробовать и pushState. Как вы обходите этот нюанс в своих проектах? Какие альтернативные методы пробовали или знаете?

на моём опыте, проблемы window.onback связаны с тем, что реализация истории в разных браузерах совсем не одинаковая, поэтому его поведение часто оказывается непредсказуемым. пришлось переключиться на popstate, потому что он позволяет лучше контролировать изменения. Конечно, и popstate не лишён нюансов, но по сравнению с onback даёт больше гибкости. иногда пришлось немного экспериментировать, но в итоге получилось добиться стабильности и предсказуемости в реакциях на возврат назад