JS职位固定& Android / iOS差异

时间:2013-09-22 12:07:40

标签: javascript android ios android-softkeyboard mobile-browser

最近我正在开发一个带有大文本区域的移动webapp,需要在视口的底角不断显示两个小按钮。所以我从基础开始:

position: fixed;
bottom: 10px;

这在我的目标设备上运行顺畅,看起来很漂亮(iOS> = 5,Android> = 2.3)。但是,当我给我的大文本区域一个焦点()并出现系统键盘时,问题就开始了。

在iOS浏览器中,键盘只是视口上的一个叠加层 - 因此视口在键盘打开后保持其尺寸,其中一半只是隐藏在它下面。

在大多数Android设备中,键盘外观使视口的高度更小并适合剩余区域,因此我的位置固定在这里工作。但是,有些Android设备就像iOS一样工作,键盘显示为叠加层。

我正在尝试考虑覆盖此问题的最佳方法,而不是使用用户代理字符串。我希望这是一个通用的解决方案。我想出了......好像

//check the viewport height
on(focus) -> see if viewport size changed and change position: fixed

但要做到这一点,我仍然需要在焦点后等待几秒才能让窗口调整大小+我不知道在视口保持不变的情况下放置按钮的位置,因为我可能在任何一个iOS系统(键盘大小不同)或Android设备上有不良行为。

您的想法是什么?

0 个答案:

没有答案