如何在服务器端 Java 代码的 Vaadin 10 中获取浏览器 window 宽度
How to get browser window width in Vaadin 10 in server-side Java code
在 Vaadin 8 中,我可以这样获得 window 的大小:
Page.getCurrent().getBrowserWindowWidth();
在 Vaadin 10 中,Page
似乎不再具有 getBrowserWindowWidth
方法。
在 Vaadin 10 中确定浏览器 window 宽度的正确方法是什么?
目前 Vaadin 10 中没有合适的功能。我们有两张与此功能相关的公开票:一张关于 making generic information available and one specifically about the window size。
根据浏览器大小执行某些操作的最佳方法可能是使用 JavaScript 或 CSS 媒体查询来实现该部分。如果你真的需要知道服务器上的大小,你需要使用 Page.exectueJavaScript
手动提取浏览器中的数字并使用例如将它们传回服务器@ClientCallable
关于组件方法。
还应该指出,即使实现了这一点,它也不会像在 Vaadin 7 和 8 中那样工作,因为这些版本会减慢页面速度 bootstrap 以等待,例如大小信息在 运行 UI.init
之前可用,而 Vaadin 10 甚至在浏览器有时间将大小信息发送到服务器之前就构建初始 UI 内容。
在 Vaadin 8 中,我可以这样获得 window 的大小:
Page.getCurrent().getBrowserWindowWidth();
在 Vaadin 10 中,Page
似乎不再具有 getBrowserWindowWidth
方法。
在 Vaadin 10 中确定浏览器 window 宽度的正确方法是什么?
目前 Vaadin 10 中没有合适的功能。我们有两张与此功能相关的公开票:一张关于 making generic information available and one specifically about the window size。
根据浏览器大小执行某些操作的最佳方法可能是使用 JavaScript 或 CSS 媒体查询来实现该部分。如果你真的需要知道服务器上的大小,你需要使用 Page.exectueJavaScript
手动提取浏览器中的数字并使用例如将它们传回服务器@ClientCallable
关于组件方法。
还应该指出,即使实现了这一点,它也不会像在 Vaadin 7 和 8 中那样工作,因为这些版本会减慢页面速度 bootstrap 以等待,例如大小信息在 运行 UI.init
之前可用,而 Vaadin 10 甚至在浏览器有时间将大小信息发送到服务器之前就构建初始 UI 内容。