Как получить правильную версию экрана для Android в браузере в javascript

Я работаю над мобильным приложением, и мне нужно получить правильную внутреннюю высоту браузера.

В настоящее время я использую

$(window).height() 

Для расчета высоты. Это отлично работает на iphone / ipad

Когда я загрузил галактику S2, работающую под управлением Android 2.3.5

Я начал получать некоторые странные результаты …

При первой загрузке страницы и $(window).height()

 $().ready(function(){... 

Я получаю правильные результаты (независимо от того, что телефон вертикальный или горизонтальный)

Как только я поверну телефон в горизонтальное положение, он вернет правильную высоту

Проблема возникает при повороте телефона от горизонтального до вертикального

Телефон возвращает полностью неверное значение высоты

Теперь я попытался использовать эти значения, чтобы проверить, правильно ли выполнено какое-либо из значений

 screen.height screen.availHeight 

Но все те же результаты


Я использую этот метод для обнаружения вращения

  var previousOrientation = 0; var checkOrientation = function(){ if(window.orientation !== previousOrientation){ previousOrientation = window.orientation; // orientation changed, do your magic here } }; window.addEventListener("resize", checkOrientation, false); window.addEventListener("orientationchange", checkOrientation, false); // (optional) Android doesn't always fire orientationChange on 180 degree turns setInterval(checkOrientation, 2000); 

Размер экрана и innerHeight в браузере Android действительно fubar. Особенно в сочетании с ошибкой, которая иногда приводит к тому, что WebView не изменяется при закрытии клавиатуры. Самое здравое свойство, которое я нашел для Android, – window.outerHeight. На Android обычно отображается высота экрана минус высота строки состояния. Не делает то же самое на iOS, хотя, возможно, вам нужно будет немного обнюхивать браузер;

Intereting Posts
Когда следует использовать фрагменты в приложениях Android? Зачем использовать фрагменты? Ограничить поиск автозаполнения в определенной стране в Google Адресах Android API Android, как получить разницу во времени между двумя часовыми поясами в Android? Как разобрать этот вложенный массив JSON в android Безопасность потоков на Android LruCache (Android 3.1) Android: Как предотвратить перезапуск службы после сбоя? Оставляя Android-анимацию в ее конечном состоянии Как сделать кнопочный щелчок и просмотреть элемент списка нажмите в настройке просмотра списка в android Какой процесс следует использовать для сжатия файла SKMaps.zip для использования в приложении с поддержкой Skobbler? Отправлять намерение от службы к деятельности Компилировать флаги для разработки Eclipse / Android AOSP AndroidManifest.xml Org.codehaus.jackson.JsonParseException: Неожиданный символ ('' (код 65279 / 0xfeff): ожидается действительное значение Как проверить, работает ли в потоке пользовательского интерфейса в Android? Android Studio 2.3 sdk manager не открывается