我现在已经在几个应用程序中遇到了这个问题,所以我不知道我是否在Backbone历史记录中出现了问题。这里的情况...Backbone.history.start()阻止返回按钮离开页面
我有两页,让我们说:
index.html
app.html
索引页只是一个链接到app.html
正常的,扁平的HTML页面。在应用程序页面,Backbone.history.start()
被称为火起来的散列状态管理,这是用来应用页面上的两个视图之间切换,说:
app.html#search
app.html#results
因此,导航来回#search
和#results
页作品之间大。那里没有问题。当您尝试使用后退按钮一直回到index.html
时,会发生此问题。返回到索引页面的路径包括在app.html
(无散列状态)的停止位置,在该位置Backbone路由器忠实地填充缺失的散列状态,将您重新放回app.html#search
。同样,单击后退按钮将转到app.html
,再次填充缺失的散列状态......基本上,您现在陷入循环,无法从页面返回。使用推送状态时会发生相同的行为。
这似乎是一个应用程序潜在的常见问题,它会自动启动默认页面URL之上的自己的路由系统。有谁知道避免这种情况的好方法吗?
感谢,没想到可以把它像。非常有意义的是,基本URL需要成为起点。不幸的是,我们的UX规范通常是围绕有条件的入口点逻辑定制的,这基本上是导致此问题的原因。我将准备在未来将这个问题扼杀在萌芽状态。 – bigmac 2013-03-06 15:46:29