Задача
Необходимо с помощью JavaScript определить высоту нижнего статусбара (системной панели) на тач-устройствах (смартфонах, планшетах) - той полоски, которая может быть видна или скрыта, содержащей кнопки ← «Домой» и список открытых приложений.
Требования к проекту
- Предоставить рабочий JS-код (плагин или фрагмент), который динамически определяет актуальную высоту данного элемента интерфейса.
- Учесть возможные изменения высоты при появлении/исчезновении панели (например, в зависимости от системного жеста или ориентации экрана).
- Решение должно работать в современных мобильных браузерах.
- Не использовать сторонние библиотеки и не привязываться к конкретной стандартной частоте обновления (например,
$). - Финальный ответ ожидается в проверяемом виде: реализовано без «мусора» (таймеров или вёрстки) с тестами корректного расчёта всплывающей панели браузера.
Формат ответа
Достаточно предоставить чистую функцию/код с комментариями. При неуспешном расчете, например, при полной нативной панели выдать значение.
Важно
Реализовать механизм слежения (без resize)? Допустимо с использованием события orientation-change.