Есть ли какая-то техника, которую я могу использовать (возможно, что-то умное с replaceState()
), чтобы обновить объект состояния истории, а не заменить его?
Учитывая существующий объект состояния, который выглядит следующим образом:
{ prop1:someValue, prop2:someOtherValue }
Я хочу иметь возможность вызывать что-то, что изменит prop1
, но оставит prop2
в покое.
Полагаю, я действительно ищу modifyState()
, а не replaceState()
.
Это было бы тривиально, если бы я знал, каково значение prop2
, но я не знаю.Firefox позволяет вам читать history.state
напрямую, поэтому я смог найти значение в Firefox и перейти к replaceState()
.Однако это не сработает для Chrome, Safari и др.потому что (насколько я могу судить) они не разрешают прямой доступ к history.state
.
Есть ли способ изменить объект состояния, как описано выше?