WebView возвращает неверный window.innerHeight
У меня есть приложение, которое использует Android WebView, а также некоторые JavaScript. Когда мой WebViewClient вызываетonPageFinished()
Я предупреждаю мой JavaScript для запуска метода инициализации. Мой JavaScript включен и загружен до того, как я нажму.onPageFinished()
В этом методе JavaScript я используюwindow.innerWidth
, Однако возвращаемое значение всегда неверно и всегда одинаково. Независимо от моей ориентации он сообщает, что внутренняя ширина равна 320, а внутренняя высота равна 240. (Правильные значения ширины для портрета и пейзажа равны 360 и 598 соответственно.) В любом другом месте я получаю доступwindow.innerWidth
или жеwindow.innerHeight
в JavaScript это дает мне точное число.
Что еще более удивительно, так это то, что если я проверяю высоту или ширину WebView прямо в моемonPageFinished()
звоните используя
int height = view.getHeight();
int width = view.getWidth();
тогда он всегда возвращается правильно (хотя он возвращает точные числа пикселей, а не DIP). Это заставляет меня думать, что все загрузилось с WebView, и поэтому я не долженУ меня нет проблем с моим JavaScript.
Есть идеи о том, что происходит?
Заранее спасибо!