如何在服务器端 Java 代码中获取 Vaadin 10 中的浏览器窗口宽度



在Vaadin 8中,我可以像这样获得窗口的大小:

Page.getCurrent().getBrowserWindowWidth();

在Vaadin 10中,Page似乎不再具有getBrowserWindowWidth方法。

在 Vaadin 10 中确定浏览器窗口宽度的正确方法是什么?

Vaadin 10 中目前没有适当的功能。我们有两个与此功能相关的开放票证:一个是关于提供通用信息,另一个是专门关于窗口大小的。

执行取决于浏览器大小的最佳方法可能是使用 JavaScript 或 CSS 媒体查询实现该部分。如果您确实需要知道服务器上的大小,则需要使用Page.exectueJavaScript在浏览器中手动提取数字并将它们传递回服务器,例如@ClientCallable组件方法。

还应该指出的是,即使实现了这一点,它也不会像在 Vaadin 7 和 8 中那样工作,因为这些版本会减慢页面引导速度以等待例如大小信息可用,然后再运行UI.init,而 Vaadin 10 甚至在浏览器有时间将大小信息发送到服务器之前就会构造初始 UI 内容。

相关内容

最新更新