Como implementar minha própria pilha de histórico em um aplicativo da web móvel de página única?

Eu tenho um aplicativo móvel de página única desenvolvido com Backbone e Zepto.

Funciona corretamente com os botões voltar / avançar no navegador.

Quando o usuário navega para uma página, oNovo conteúdo desliza a partir da direita como ovelho o conteúdo desliza para a esquerda (e para fora da janela de visualização). Eu quero que a mesma coisa aconteça se o usuário pressionar o botão "avançar" do navegador. Isso tudo funciona.

Eu tenho uma classe que eu adiciono ao elemento bodynavigate-back que vai virar esse comportamento, então quando o usuário navega de volta com o botão Voltar do navegador, eles vêem o conteúdo deslizandode volta a partir da esquerda e o outro conteúdo deslizando para a direita. Basicamente apenas o oposto de ir em frente.

Eu preciso detectar se o usuário está navegando para trás para que eu possa invocar o comportamento alternativo. Eu tentei implementar minha própria pilha de histórico, mas eu tive muitos problemas onde às vezes ele marca um avanço como umde volta navegação que estraga a sugestão visual. Ele desceu em um kludge de hacks agora e provavelmente só me envergonharia se eu o postasse.

Qual é a melhor maneira de implementar minha própria pilha de histórico para que eu possa detectar se o usuário está navegando para frente / para trás no contexto de um aplicativo móvel Backbone de página única?

questionAnswers(5)

yourAnswerToTheQuestion