本文介绍了当键盘可见时,iOS 15 Safari会检测到浮动地址栏的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Safari iOS15中,默认情况下,地址栏固定在视区的底部。如iOS 15 Safari floating address bar所述,您可以使用padding-bottom: env(safe-area-inset-bottom)确保内容显示在其上方。

但是,如果键盘可见,则环境变量不起作用,因为浮动地址栏显示在键盘上方,并清除视区的底部。这可能会导致某些内容隐藏在其下方。

以下是该问题的一个简单演示:https://pmusaraj.github.io/ios15-bottom-bar2.html

在iOS 14及更低版本或iOS15上,如果Safari设置为在顶部显示地址栏,则当文本区域处于焦点位置时,您可以看到提交按钮。在默认的iOS15上,您不能,因为设备返回的视区高度不包括浮动地址栏。

更新:https://bugs.webkit.org/show_bug.cgi?id=229876

的WebKit错误报告

推荐答案

我能找到的最接近的解决方案是使用导航器检查是否存在iOS 15。用户代理:

数据-lang="js"数据-隐藏="假"数据-控制台="真"数据-巴贝尔="假">
console.log(navigator.userAgent.indexOf("iPhone OS 15") != -1)

但是,用户仍可以将设置中的选项卡栏位置更改回顶部。

下面的屏幕截图来自于在Xcode iPhone模拟器中测试它,并使用Safari中的开发工具检查浏览器

这篇关于当键盘可见时,iOS 15 Safari会检测到浮动地址栏的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-28 03:10