window.pushState не увеличивает длину истории

У меня есть следующий код, который пытается манипулировать стеком window.history:

  console.log("before:" + window.history.length);
  window.history.pushState(null, null, '/page1');
  console.log("after:" + window.history.length);

Это всегда печатает одно и то же в before и after, хотя я добавляю состояние:

before:50
after:50

Почему pushState не увеличивает длину истории? Кстати, длина всегда 50, хотя я обновляю страницу.


person ps0604    schedule 14.10.2018    source источник
comment
У меня работает как надо: jsfiddle.net/0qrgesa3   -  person StudioTime    schedule 14.10.2018
comment
Спасибо, я использую Angular, это может быть проблема с Angular.   -  person ps0604    schedule 14.10.2018
comment
Это может варьироваться в зависимости от пользовательского агента. У некоторых есть ограничение на количество элементов в истории. Из стандарта: пользовательские агенты могут ограничивать количество объектов состояния, добавленных в историю сеансов на страницу.   -  person Heretic Monkey    schedule 14.10.2018
comment
Возможный дубликат максимального значения window.history.length   -  person Heretic Monkey    schedule 14.10.2018
comment
Firefox (возможно, другие браузеры) накладывают ограничение на максимальное значение history.length. По умолчанию в Firefox это 50. Что такое семантика выполнения .pushState(), когда длина равна 50? список, так что все еще есть 50 записей, но кнопка «Назад» делает то, что вы ожидаете.   -  person Pointy    schedule 22.10.2020