Как скрыть address bar в браузере на андроиде?

Делаю мини игрушку на js для планшета. Хочу чтобы размер видимой части занимал все пространство, включая address bar, но чтобы прокрутки не было. Другими словами - хочу скрывать адресную строку при загрузке и при повороте экрана.
Делаю так:
//load вызывается при <body onload="load()">
function load() {
    hideAddressBar();
    //  1
    //window.addEventListener("orientationchange", function () {
    //    hideAddressBar();
    //});
}

function hideAddressBar() {
    if (navigator.userAgent.match(/Android/i) != null) {
        //window.orientation 0 - 180 - landscape; 90 and -90 portrait
        document.documentElement.style.height = window.outerHeight + 'px';
        setTimeout(window.scrollTo(0, 1), 0);
    }
}

Работает так как надо только при загрузке. Как сделать, чтобы адресная строка скрывалась и при повороте экрана? Есть идея, вычислять высоту адресной строки
addressBarHeight = window.outerHeight - window.innerHeight;

и затем прибавлять ее к текущей высоте страницы, которая вычисляется в зависимости от положения планшета. Вот только как вычислить текущую высоту страницы? Нужно чтобы она была вычислена в соответствии с css файлом:
@media screen and (orientation: portrait) {
    html, body {
        height: 100%;
        /*!important;*/
    }
}

@media screen and (orientation: landscape) {
    html, body {
        height: 100%;
        /*!important;*/
    }
}
  • Вопрос задан
  • 17507 просмотров
Пригласить эксперта
Ответы на вопрос 3
timych
@timych
Я бы посоветовал использовать phonegap, раз уж на js пишете.
Ответ написан
Комментировать
isxaker
@isxaker Автор вопроса
У меня этот костыль работает ;-)
window.onload = function () {
    hideAddressBar();
    window.addEventListener("orientationchange", function () {
        hideAddressBar();
    }, false);
}

function hideAddressBar() {
    setTimeout(function () {
        document.body.style.height = window.outerHeight + 'px';
        setTimeout(function () {
            window.scrollTo(0, 1);
        }, 1100);
    }, 1000);
    return false;
}
Ответ написан
Комментировать
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы