2017-05-27 79 views
1

如何正確使用新的Vaadin 8HTML5歷史API來管理我的視圖?
我可以在Navigator中使用它嗎?
目前我在我的應用程序中導航:getUI().getNavigator().navigateTo(viewName),但這不是SEO-freindly。
隨着歷史API我可以這樣做:Vaadin 8歷史API和SEO

Page.getCurrent().pushState(viewName); 
      Page.getCurrent().addPopStateListener(event -> { 
      //something 
      }); 

但只改變我的URI片段沒有通話監聽器(當我們在瀏覽器中使用後退/前進按鈕,它被稱爲)。
在另一方面,我可以使用

Page.getCurrent().pushState(viewName); 
getUI().getNavigator().navigateTo(viewName); 

但的NavigateTo方法隨時補充!#在beggining。

我想通過導航器功能獲取歷史API功能。
在Vaadin網站上只是一個小例子,沒有解釋。

回答

3

HTML5 History API不支持導航器。但是我寫了一個附加組件,它可以幫助你: HistoryApiNavigationStateManager Add-on

使用該附加組件,您只需創建特殊導航器並獲取所需的Html5 History API URL。

+0

我想知道爲什麼Vaadin自己目前還沒有實現它。 –