Javascript 如何处理覆盖固定元素的Android键盘?

Javascript 如何处理覆盖固定元素的Android键盘?,javascript,android,css,ios,google-chrome,Javascript,Android,Css,Ios,Google Chrome,我的网站上有私人信息功能。消息窗口是一个固定元素: position: fixed; bottom: 0; 在iOS上,当打开位于消息窗口最底部的输入时,键盘只需将整个网站推到顶部,这样您仍然可以看到您正在键入的内容 但是,在Android上,键盘只是与所有内容重叠,因此您不再看到输入元素: 如何使其在iOS和Android上工作?一种方法是存储初始窗口(视口)高度,并在“窗口大小调整”事件中进行比较。假设智能手机上的窗口大小在99%的情况下不会改变,你可以假设键盘正在显示。但是,对我来说

我的网站上有私人信息功能。消息窗口是一个固定元素:

position: fixed;
bottom: 0;
在iOS上,当打开位于消息窗口最底部的输入时,键盘只需将整个网站推到顶部,这样您仍然可以看到您正在键入的内容

但是,在Android上,键盘只是与所有内容重叠,因此您不再看到输入元素:


如何使其在iOS和Android上工作?

一种方法是存储初始窗口(视口)高度,并在“窗口大小调整”事件中进行比较。假设智能手机上的窗口大小在99%的情况下不会改变,你可以假设键盘正在显示。但是,对我来说,这有点粗糙,一旦获得视口的实际大小,只需更新元素的
bottom:x

如果您询问是否只能通过css检测到它,那么您可能希望查看css媒体查询


这并没有真正的帮助。我已经可以捕捉到这个事件了,我的问题是我不知道如何使用css正确地显示它。据我所知,例如,没有办法检测键盘的高度。正如我所说的-存储原始高度值。它是设备屏幕的总高度。然后,只要你看到窗口大小的变化-总高度减去新高度等于键盘高度好的,谢谢。但是有一个大问题。有些浏览器实际上是自己推送内容(如预期的那样)。有些没有。我怎样才能发现呢?试着从“应用程序”的角度进行研究,也许你会在那里找到答案!随时通知我们。好的,那么你的意思是,我应该听移动设备上视口高度的变化,得到更新的视口大小,并相应地设置底部属性,对吗?这听起来是个好主意。不过有个大问题。有些浏览器实际上是自己推送内容(如预期的那样)。有些没有。我怎样才能发现呢?