Как обрабатывать стеки истории при работе с веб-приложениями на базе SPA? У меня может быть свой собственный стек для отслеживания посещенных страниц, но поскольку я просто скрываю/показываю div
, а манипулирование объектом "history" требует ввода URL-адресов, я не могу понять, как справиться с ситуацией?
URL-адрес всегда будет http://mywebapplication/#
примерно так: http://mywebapplication/#
Я не могу вытолкнуть любые URL-адреса в стек history
, потому что для показа всех div
URL-адрес остается тем же. Даже если я каким-то образом смогу добиться того же, я не думаю, что переопределение обратной кнопки браузера следует считать хорошей практикой?
Пожалуйста, предложите, как справиться с этой ситуацией.
Чтобы отслеживать просмотренные div, вам нужно какое-то решение маршрутизации. Вы можете использовать Crossroads для регистрации и управления маршрутами. На каждом маршруте должен быть обработчик, который позволяет использовать соответствующий div на одной странице.
var route1 = crossroads.addRoute('/page1/', function(id){
//enable div for page1 route
});
Затем вы можете использовать Hasher для управления историей браузера.