如何在使用基于SPA的Web应用程序时处理历史记录堆栈?我可以使用自定义堆栈来跟踪所访问的页面,但由于我只是隐藏/显示div
,并且操纵“历史”对象需要推入URL,我无法理解如何去关于处理情况?
网址将始终如下:http://mywebapplication/#
我无法将任何网址推送到history
堆栈,因为要显示所有div
,网址保持不变。即使我能以某种方式实现同样的目标,我也不认为覆盖浏览器的后退按钮应该被认为是一种好习惯吗?
请建议如何处理这种情况。
答案 0 :(得分:1)
为了跟踪您浏览的div,您需要某种路由解决方案。您可以使用Crossroads注册和管理您的路线。每个路由都应该有一个处理程序,它可以在单个页面中启用相应的div。
var route1 = crossroads.addRoute('/page1/', function(id){
//enable div for page1 route
});
然后,您可以使用Hasher来管理浏览器历史记录。