维护基于SPA的Web应用程序的历史堆栈

时间:2014-01-03 13:35:22

标签: html single-page-application

如何在使用基于SPA的Web应用程序时处理历史记录堆栈?我可以使用自定义堆栈来跟踪所访问的页面,但由于我只是隐藏/显示div,并且操纵“历史”对象需要推入URL,我无法理解如何去关于处理情况?

网址将始终如下:http://mywebapplication/# 我无法将任何网址推送到history堆栈,因为要显示所有div,网址保持不变。即使我能以某种方式实现同​​样的目标,我也不认为覆盖浏览器的后退按钮应该被认为是一种好习惯吗?

请建议如何处理这种情况。

1 个答案:

答案 0 :(得分:1)

为了跟踪您浏览的div,您需要某种路由解决方案。您可以使用Crossroads注册和管理您的路线。每个路由都应该有一个处理程序,它可以在单个页面中启用相应的div。

var route1 = crossroads.addRoute('/page1/', function(id){
  //enable div for page1 route
});

然后,您可以使用Hasher来管理浏览器历史记录。