2017-05-27 10 views
1

新しいVaadin 8 HTML5 History APIを正しく使用してビューを管理するにはどうすればよいですか?
Navigatorで使用できますか?
現在のところ私のアプリでは、getUI().getNavigator().navigateTo(viewName)でナビゲートしていますが、これはSEO-freindlyではありません。私が行うことができます歴史のAPIで
Vaadin 8 History APIとSEO

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

それだけで(我々がブラウザで前方/バックボタンを使用する場合、それが呼び出された)コールリスナーなしで私のURIのフラグメントを変更します。
一方私は

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

を使用することができますが、NavigateToメソッドは常にbegginingで!#を追加します。

ナビゲータ機能を使用してHistory API機能を使用したいと考えています。
Vaadinサイトでは説明のない小さな例が1つしかありません。

答えて

3

HTML5履歴APIは、そのままの状態のナビゲータでは機能しません。しかし、私はあなたのためにこれを行うアドオンを書いた: HistoryApiNavigationStateManager Add-on

アドオンを使用すると、特別なナビゲータを作成し、必要なHtml5履歴APIのURLを取得するだけです。

+0

私はなぜVaadinがこれまでそれ自体を実装していないのだろうかと思います。 –