Возможно ли переписать историю браузера без использования history.pushState
?Backbone - Overwrite Hashchange History
У меня есть магистральное приложение с маршрутизатором, который выглядит примерно так:
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
}
Anytime модальный маршрут запускаемый Я хотел бы, чтобы предотвратить хэш от записываются в истории состояния браузера. Причина в том, что пользователи не должны снова открывать модальный при движении назад в истории.
Я просмотрел исходный код базовой линии, и я не вижу ничего, что просто говорит history = []
.
Есть ли способ сделать это без состояния нажатия?
хорошо, я уверен, что будет работать, но это не метод навигации вызывается только при ручном запуске маршрута? В моем приложении много экземпляров, где я не смогу это сделать (ссылки, которые являются общими, поступают через электронную почту или другие приложения.) –
Как я могу назвать эту функцию при нажатии кнопки «Назад»? –
Я только что обновил свой ответ, добавив пример и пример класса, и событие onclick на кнопке «#myButton» – socrateisabot