2012-01-05 110 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