1

如何正确使用新的 Vaadin 8 HTML5 History API 来管理我的视图?
我可以将它与导航器一起使用吗?
目前,我通过以下方式在我的应用程序中导航: getUI().getNavigator().navigateTo(viewName)但这不是 SEO 友好的。
使用 History API,我可以做到:

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

但它只会在没有调用监听器的情况下更改我的 URI 片段(当我们在浏览器中使用后退/前进按钮时会调用它)。
另一方面,我可以使用

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

但是 navigateTo 方法总是在开头添加 !# 。

我想获得带有导航器功能的 History API 功能。
Vaadin 网站上只是一个小例子,不做解释。

4

1 回答 1

3

HTML5 History API 不适用于开箱即用的导航器。但是我已经为您编写了一个插件: Hi​​storyApiNavigationStateManager Add-on

使用该附加组件,您只需创建特殊导航器并获取所需的 Html5 History API URL。

于 2017-05-29T09:52:56.843 回答