ГВТ/Файрфокс:getOffsetHeight() всегда возвращает 0
Вопрос
Используя GWT 1.6.4, у меня есть следующий код для получения размеров окна браузера:
RootPanel panel = RootPanel.get();
int height = panel.getOffsetHeight();
int width = panel.getOffsetWidth();
Теперь в браузере в режиме хостинга и в IE (но я полагаю, что браузер в режиме хоста использует IE, верно?) это возвращает правильные значения как для ширины, так и для высоты.Однако в FF3 ширина дает правильное значение, а высота всегда равна нулю.Может ли кто-нибудь объяснить это?Я делаю что-то неправильно?Как правильно получить высоту окна в Firefox и есть ли метод, который правильно работает как в IE, так и в Firefox?
Решение
Вы пробовали методы Window.getClientHeight() и Window.getClientWidth()?
Проверьте JavaДокументация.
Другие советы
Используя JavaScript, вы можете получить высоту окна с помощью:
int height = document.body.clientHeight;
Теперь я не знаю, дает ли вам GWT возможность указать конкретные фрагменты JavaScript.Возможно, вы захотите разместить сообщение в группе GWT Google, которую можно найти по адресу: http://groups.google.com/group/Google-Web-Toolkit?pli=1
Я тут предполагаю:в Firefox в тот момент, когда вы проверяете RootPanel.get().getOffsetHeight(), он пуст и не растягивается в области просмотра, а только горизонтально.Поэтому лучше используйте Window.getClientHeight(), если вам нужны фактические размеры окна/окна просмотра.