Можно ли программно отображать строку URL в Chrome для Android?

По умолчанию он отображается только при нажатии кнопки меню устройства и при пролистывании страницы вниз (см. GIF ниже, когда сенсорный маркер красный). Можно ли отобразить строку URL с помощью JavaScript?

GIF, показывающий скрытие/отображение строки URL в Chrome для Android


person Tamás Bolvári    schedule 29.06.2014    source источник
comment
Сайт прокручивается не вниз, а вверх? Кстати, я думаю, что это скорее смахивание по краю, а не типичное перетаскивание прокрутки.   -  person Bergi    schedule 30.06.2014
comment
Вместо «показать» лучше использовать термин «показать» :-)   -  person Bergi    schedule 30.06.2014
comment
@Bergi Спасибо за совет, я не носитель языка, все еще совершенствую свой английский. ;)   -  person Tamás Bolvári    schedule 30.06.2014
comment
@Bergi Извините, я имел в виду свайп, а не прокрутку.   -  person Tamás Bolvári    schedule 30.06.2014
comment
Извините, я не думаю, что вы можете без собственного кода, работающего на Android.   -  person Jegsar    schedule 30.06.2014


Ответы (2)


Решение

Это возможно только при вводе данных пользователем из-за ограничений полноэкранного API. Посмотрите демонстрацию.

var p;

function showURLBar() {
    p = [window.pageXOffset, window.pageYOffset];
    document.documentElement.webkitRequestFullscreen();
    setTimeout(function () {
        document.webkitExitFullscreen();
        setTimeout(function () {
            scrollTo(p[0], p[1]);
        }, 300);
    }, 300);
}

Важные заметки

  • Эта функция протестирована только в Chrome 35.0.1916.141 на Samsung Galaxy S4 под управлением Android 4.4.2.
  • На других устройствах может потребоваться увеличение времени ожидания.
  • Чтобы избежать ошибок в других браузерах, используйте кросс-браузерная реализация функций полноэкранного API вместо webkit.
  • Это своего рода хак, поэтому он может стать неэффективным в будущих версиях Chrome.
  • Некоторое отставание можно увидеть из-за тайм-аута в 600 мс, но без него функция не работала бы.
  • Я проверил некоторые другие подходы без успеха. Изменение всего URL-адреса с помощью window.location приводит к тому, что адресная строка снова появляется, но оставление/перезагрузка страницы является нежелательным побочным эффектом. Изменение только window.location.hash или использование window.history также не помогает, даже если URL-адрес изменен. Ни один из window.scrollBy, window.scrollTo, window.scrollTop не помогает.
person Tamás Bolvári    schedule 30.06.2014
comment
сейчас 2017 год, и это все еще проблема, и это все еще единственное решение, которое я смог найти. Большое спасибо за это! - person lupos; 09.08.2017

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

person user3594045    schedule 29.06.2014