gpt4 book ai didi

javascript - 使用 JS 或 CSS 检测 iOS 设备是否有 home bar

转载 作者:行者123 更新时间:2023-12-01 16:19:45 25 4
gpt4 key购买 nike

我正在为 iOS 构建一个网络应用程序,并想知道是否可以使用 JS 或 CSS 来检测设备底部是否有屏幕主栏(即 iPhone X、11 或 iPad Pro - 带有圆 Angular 并且没有主页按钮)。
因为如果创建一个标签栏,我需要知道是否在底部添加额外的填充来适应它,如下图所示。
enter image description here
没有使用媒体查询从这些设备的精确屏幕分辨率列表中检测并希望获得最好的结果,我无法提出解决方案。
有什么想法吗?

最佳答案

this post 工作,我能够计算出底部安全区域的高度,从而确定home bar是否存在。如果您返回一个非零像素值,则主栏(可能)在那里。如果返回 0px ,没有家吧。
绝对阅读链接的帖子,但总体思路是您将设置 CSS env() function:root元素,然后读回计算的值。
以下是它的工作原理:
首先,您需要通过将其放入 <head> 来使用整个可用屏幕。文件的部分:<meta name="viewport" content="viewport-fit=cover" />然后,添加到您的 CSS:

:root {
--sat: env(safe-area-inset-top);
--sar: env(safe-area-inset-right);
--sab: env(safe-area-inset-bottom); /* THIS ONE GETS US THE HOME BAR HEIGHT */
--sal: env(safe-area-inset-left);
}
最后,读回 Javascript 中的值: getComputedStyle(document.documentElement).getPropertyValue("--sab")这应该返回一个类似 34px 的值当主栏出现和 0px当它不是。

关于javascript - 使用 JS 或 CSS 检测 iOS 设备是否有 home bar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63531281/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com