javascript - 如何在移动设备上独立于 URL 栏的当前隐藏/显示状态获取视口(viewport)高度?

标签 javascript mobile height viewport address-bar

在移动设备上(例如 Android 上的 Chrome),视口(viewport)高度会根据 URL/地址栏是否隐藏而变化,这会根据您是在页面上向上滚动还是向下滚动而变化。

鉴于此,我需要 2 个变量:

  1. 显示 URL 栏时的视口(viewport)高度(无论实际状态如何)。
  2. URL 栏显示时的视口(viewport)高度(无论实际状态如何)。

换句话说:“最小”和“最大”视口(viewport)高度。我该怎么做呢?我只知道如何获取:

  • 给定 URL 栏当前状态(显示/不显示)的视口(viewport)高度。

通过执行:Math.max(document.documentElement.clientHeight, window.innerHeight || 0)(来源:https://stackoverflow.com/a/8876069/473368)。

最佳答案

为此,使用 window.outerHeight 属性:

Window.outerHeight gets the height in pixels of the whole browser window. It represents the height of the whole browser window including sidebar (if expanded), window chrome and window resizing borders/handles.

要扩展你的功能,只需比较window.outerHeightwindow.innerHeight:

let maxHeight = Math.max(window.innerHeight || 0, window.outerHeight || 0);
let minHeight = Math.min(window.innerHeight || 0, window.outerHeight || 0);
console.log(maxHeight, minHeight);

关于javascript - 如何在移动设备上独立于 URL 栏的当前隐藏/显示状态获取视口(viewport)高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50553646/

相关文章:

javascript - 普遍接受的 JavaScript 代码组织最佳实践

javascript - 如何将 X 域设置为嵌套值

java - MIDP 堆与 VM 堆

Swift:表格 View 中的动态单元格

javascript - jQuery Calculate (window).innerHeight() 减去 vh

java - 有没有办法在android中同时设置高度和包装内容?

javascript - 根据标题更改表格单元格的背景颜色

javascript - 如何从 JavaScript 中动态创建的元素获取文本

html - DIV 不会隐藏在使用媒体查询的移动设备上

debugging - iOS 设备上的远程 console.log()