(Это многочастный вопрос, я постараюсь изо всех сил суммировать сценарий.)
В настоящее время мы создаем отзывчивое веб-приложение (средство чтения новостей), которое позволяет пользователям прокручивать содержимое с вкладками, а также прокручивать по вертикали внутри каждого содержимого с вкладками.
Общим подходом к проблеме является наличие оболочки div
, которая заполняет окно просмотра браузера, устанавливает overflow
на hidden
или auto
, а затем прокручивается по горизонтали и/или вертикально внутри него.
Этот подход замечательный, но имеет один главный недостаток: , так как высота документа точно такая же, как и окно просмотра браузера, мобильный браузер не будет скрывать адресную строку/меню навигации.. p >
многочисленные хаки и свойства видового экрана, которые позволяют нам получать больше экранной недвижимости, но ни один из них не столь эффективен, как minimal-ui
( введенный в iOS 7.1).
Вчера появились новости о том, что iOS 8 beta4 удалил minimal-ui
из Mobile Safari (см. раздел Webkit в Примечания к выпуску iOS 8), который оставил нам интересно:
Q1. Можно ли скрыть адресную строку в Mobile Safari?
Насколько нам известно, iOS 7 больше не отвечает на window.scrollTo
хак, это говорит о том, что нам нужно жить с меньшим экраном если мы не примем вертикальный макет или не используем mobile-web-app-capable
.
Q2. Возможно ли иметь аналогичный мягкий полноэкранный режим?
Мягким полноэкранным экраном я действительно подразумеваю без использования метатега mobile-web-app-capable
.
Наше веб-приложение построено так, чтобы быть доступным, любая страница может быть помечена закладкой или разделена с использованием собственного меню браузера. Добавляя mobile-web-app-capable
, мы запрещаем пользователям вызывать такое меню (когда оно сохраняется на рабочем столе), что смущает и антагонизирует пользователей.
minimal-ui
раньше был срединным, скрывая меню по умолчанию, но сохраняя его доступным нажатием - хотя Apple могла удалили его из-за других проблем доступности (таких как пользователи, не зная, куда нажать, чтобы активировать меню).
Q3. Стоит ли работать с полноэкранным режимом?
Казалось бы, API fullscreen API не придет в iOS в ближайшее время, но даже если это так, я не вижу, как меню будет оставаться доступным (то же самое касается Chrome на Android).
В этом случае, возможно, нам стоит просто оставить мобильное сафари в том виде, в каком оно есть, и учитывать высоту видового экрана (для iPhone 5+, это 460 = 568 - 108, где 108 включает панель ОС, адресную строку и меню навигации; iPhone 4 или старше, это 372).
Хотелось бы услышать некоторые альтернативы (помимо создания собственного приложения).