使用GWT 1.6.4,我有以下代码来检索浏览器窗口的尺寸:
RootPanel panel = RootPanel.get();
int height = panel.getOffsetHeight();
int width = panel.getOffsetWidth();
现在,在托管模式浏览器和IE中(但我相信托管模式浏览器使用IE,对吗?),这将返回宽度和高度的正确值。但是,在FF3中,width给出正确的值,但高度始终为零。有谁能解释一下?难道我做错了什么?在Firefox中检索窗口高度的正确方法是什么,有一种方法可以在IE和Firefox中正常工作吗?
答案 0 :(得分:2)
您是否尝试过Window.getClientHeight()和Window.getClientWidth()方法?
查看JavaDocs。
答案 1 :(得分:0)
使用javascript,你可以通过以下方式获取窗口高度:
int height = document.body.clientHeight;
现在GWT是否会指定你指定特定的javascript片段,我不知道。您可以在GWT google论坛中发帖,可在以下网址找到:http://groups.google.com/group/Google-Web-Toolkit?pli=1
答案 2 :(得分:0)
我在这里猜测:在Firefox中,在检查RootPanel.get()。getOffsetHeight()的那一刻,它是空的并且没有伸展到视口中,只是水平地。 因此,如果您需要实际的窗口/视口尺寸,最好使用Window.getClientHeight()。