Определить, отображается ли адресная строка в браузере iPhone

Я я пытаюсь определить, на будущее и не зависит от устройства, когда отображается адресная строка в браузере iPhone. Это панель инструментов, которая отображается вверху для отображения URL. Его можно скрыть, вызвав:

window.scrollTo(0, 0)

Что я хотел бы сделать, так это определить, когда оно показывается (тем самым уменьшая доступное пространство для просмотра), и установить таймер, чтобы скрыть его снова через секунду или около того. Чаще, чем это, и это будет довольно раздражающим, поскольку пользователи не смогут получить доступ к адресной строке.

Я попытался проверить window.pageYOffset , к сожалению, это возвращает ноль, если видна любая часть панели URL.

Я не хочу жестко программировать любые размеры на iPhone и сравнивать их с текущим размером области просмотра. Это слишком хрупко.

Кто-нибудь знает решение здесь?

13
задан Fortes 19 August 2010 в 17:00
поделиться

1 ответ

Свойство window.innerHeight - это то, что вы ищете. Это высота фактического содержимого на экране. Она значительно меньше, когда видна панель инструментов в верхней части, потому что там меньше места для содержимого. Есть небольшая проблема, которую я не могу решить на своем iPhone 4 - window.innerHeight иногда возвращает на 3 пикселя меньше при определенных положениях прокрутки экрана.

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

http://jsfiddle.net/rUSEb/show/light (проверьте его на своем iphone).

11
ответ дан 2 December 2019 в 01:09
поделиться
Другие вопросы по тегам:

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