2012-01-05 108 views
1

我有接受这些令牌的GWT应用程序:这只是正常处理GWT历史片段标识符

http://127.0.0.1:8888/app.html?gwt.codesvr=127.0.0.1:9997#user&someuser 

这将打开一个视图(如MVC)。然而,问题在于该视图的菜单可以触发切换到另一个视图,例如切换到用户配置文件等。上面的URL将保留但页面内容完全更改。

在这种情况下是否有处理浏览器后退按钮的方法。后退按钮可以很好地切换回由URL片段触发的视图(通过在浏览器地址栏中键入),如切换到#user&someuser#profile

但是,当视图从菜单或按钮事件更改时,会出现问题。有没有一种方法可以模拟与用户手动键入URL片段相同的效果?这样后退按钮将起作用。顺便说一下,每个URL片段都与一个视图关联。

回答

3

您可能正在寻找History.newItem(newToken)(或如果您不想让它触发事件,则为History.newItem(newtoken, false))。

如果你的项目还不算太迟,我建议你使用GWT Places,而不是History,可能还有GWT活动(取决于你的需求)。
我写这几篇文章而回,当他们被引入GWT 2.1:

+0

的好文章,我想地方必须与MVP一起去,我需要修改我的申请。 – xybrek 2012-01-05 17:09:34

+0

无论如何,在你的回答中,你的意思是我应该在应用程序更改为另一个视图之前调用History.newItem(newToken,false)? – xybrek 2012-01-05 17:10:49

+0

我试过History.newItem,它工作正常。但是,即使用户通过静态主菜单注销,它也可以浏览回“配置文件”视图。 – xybrek 2012-01-05 17:28:39