Сегодня
Вчера
Ранее
Данные вымышленные. Экран нужен, чтобы проверить инерционный скролл, разделители и схлопывание крупного заголовка.
Оболочка
Эти три переключателя реально управляют оболочкой — выключи и посмотри, что изменится.
Связь
Уведомления
Состояние переключателей живёт только в памяти вкладки: localStorage сознательно не используется.
VERSION
—
кэш не определён
Режим отображения
display-mode: standalone
—
navigator.standalone
Активный режим
—
Значения выводятся отдельно: matchMedia работает везде, navigator.standalone — только в Safari на iOS.
Сеть
navigator.onLine
—
Последнее событие
—
Service Worker
Зарегистрирован
—
Контролирует страницу
—
Состояние
—
Scope
—
Safe area
safe-area-inset-top
—
safe-area-inset-bottom
—
Вьюпорт
—
Экран
—
Мёртвая полоса снизу
—
Зазор под таб-баром
—
Единицы высоты
100vh—
100dvh—
100lvh—
100svh—
бокс position: fixed; inset: 0
—
--app-h сейчас—
фон таб-бара—
status-bar-style в DOM—
Сырые замеры
window.innerHeight
—
documentElement.clientHeight
—
visualViewport.height
—
visualViewport.offsetTop
—
screen.height
—
window.screenX / screenY
—
таб-бар rect.top / rect.bottom
—
шапка rect.top
—
padding-top / padding-bottom
html
—
body
—
.app
—
высоты html / body / .app
—
Зазор: два замера
старый: innerHeight − rect.bottom
—
новый: screen − (offsetTop + rect.bottom)
—
предки бара с containing block
—
Хранилище
Занято
—
Квота
—
User Agent
—
Пока экран открыт, значения обновляются вживую.