API истории Vaadin 8 и SEO

Как правильно использовать новый Vaadin 8 HTML5 History API для управления представлениями?
Могу ли я использовать его с Навигатором?
В настоящее время я перемещаюсь в своих приложениях по: getUI().getNavigator().navigateTo(viewName), но это не оптимизировано для SEO.
С помощью API истории, который я могу сделать:

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

но это только изменяет мой фрагмент URI без прослушивателя вызовов (он вызывается, когда мы используем кнопки «назад/вперед» в браузере).
С другой стороны, я могу использовать

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

но метод navigationTo всегда добавляет !# в начале.

Я хочу получить функциональность History API с функциями навигатора.
На сайте Vaadin есть только один небольшой пример, без пояснений.


person xorgx3    schedule 27.05.2017    source источник


Ответы (1)


API истории HTML5 не работает с Навигатором из коробки. Но я написал дополнение, которое сделает это за вас: Дополнение HistoryApiNavigationStateManager.

С помощью этого дополнения вы просто создаете специальный навигатор и получаете нужные URL-адреса Html5 History API.

person Axel Meier    schedule 29.05.2017