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

#javascript #android #google-chrome #mobile-chrome

#javascript #Android #google-chrome #мобильный-chrome

Вопрос:

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

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

Комментарии:

1. Сайт прокручивается не вниз, а вверх? Кстати, я думаю, что это скорее краевой свайп, а не обычное перетаскивание прокрутки.

2. Вместо «показать» вам лучше использовать термин «показать» 🙂

3. @Bergi Спасибо за совет, я не являюсь носителем языка, но все еще совершенствую свой английский. 😉

4. @Bergi Извините, я имел в виду прокрутку, а не прокрутку.

5. Извините, я не думаю, что вы можете без собственного кода, работающего на Android.

Ответ №1:

Решение

Это возможно только при вводе пользователем из-за ограничений полноэкранного 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 не помогает.

Комментарии:

1. 2017 год, и это все еще проблема, и это по-прежнему единственное решение, которое я смог найти. Большое спасибо за это!

Ответ №2:

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