JavaScript браузера Android неправильно измеряет высоту

Я использую скрипт jQuery для размещения элемента на заданном расстоянии от нижней части экрана. (Да, JavaScript необходим для динамического, предполагаемого поведения на этой странице.)

Для большинства браузеров элемент, представленный серой полосой в нижней части изображения ниже, этот код прекрасно разместит элемент:

var container = $('section.explore');
var winHeight = $(window).height();

container.css('margin-top', winHeight - container.height());

Однако в браузерах Android я получаю такое поведение (обратите внимание на серую полосу внизу):

введите здесь описание изображения

Чтобы получить панель поиска на определенном расстоянии от нижней части окна, мне нужно прокрутить весь путь вверх, чтобы адресная строка была видна, тогда панель правильно расположена.

Есть ли способ лучше измерить высоту окна, чтобы пользователю не приходилось просматривать адресную строку, чтобы увидеть элемент в правильном положении?

Спасибо за ваше время.


person Oliver Spryn    schedule 11.04.2013    source источник


Ответы (1)


Попробуйте проверить точные значения в

window.innerHeight or window.outerHeight

Также проверьте точные значения в событии изменения размера окна.

$(window).bind('resize', function () {
   console.log(window.innerHeight);
   console.log(window.outerHeight);
});

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

person Parthik Gosar    schedule 11.04.2013
comment
Где эти значения регистрируются в браузере Android? - person Oliver Spryn; 11.04.2013
comment
ах да, мой плохой ... консоли не видны в Android ... вам нужно будет использовать предупреждения, чтобы увидеть эти значения. - person Parthik Gosar; 12.04.2013