在 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 内容。