Можно ли переписать историю браузера без использования history.pushState
?
У меня есть магистральное приложение с маршрутизатором, которое выглядит примерно так:
routes: {
'posts': 'posts',
'modal': 'modal'
},
'before': function (args) {
//check if logged in
//do some various other setup tasks
//maybe delete modal routes from the history?
//forward to route
args.next()
},
'posts': function () {
//make and show posts
},
'modal': function (params) {
//edit user email preferences OR
//create a new post OR
//do various other crud operations
}
Каждый раз, когда запускается модальный маршрут, я бы хотел предотвратить запись хэша в состояние истории браузера. Причина в том, что пользователи не должны повторно открывать модальное окно при путешествии назад по истории.
Я просмотрел исходный код магистрали и не нашел ничего, что бы просто говорило history = []
.
Есть ли способ сделать это без состояния push?