每当键盘显示或隐藏时,ipad 上的 Chrome 都会在窗口对象上调度一个 resize 事件,例如当您触摸并聚焦到文本框时,或者通过点击其他东西失去焦点时。新的视口高度是屏幕高度减去键盘高度。在肖像中,这根本不是很高。
当这种情况发生时,我的 JavaScript 应用程序会做一些非常糟糕的事情,因为它会尝试缩放图像以适应屏幕,就像“全屏”效果一样,并且在其顶部放置了一个输入框,当聚焦时它会在顶部打开另一个图层显示自动完成的一些可能性。然后专注于这个文本框会使屏幕变得混乱(大幅缩小图像,重新定位输入框以对应新位置等)并最终导致输入失去焦点,使键盘消失导致再次调整大小。所以基本上屏幕有问题,用户不能在这个小部件中输入或选择任何东西。
我想不知道如何修复我的错误,我相信我知道一些方法可以缓解它,但是如果规范所说的任何事情应该在这里发生(如果实际存在任何规范)以及我是否可以合法地称这种不需要的行为(甚至可能是一个错误)在 chrome ipad 中。
Ipad safari 不这样做,据我所知,窗口保持恒定的高度。所以我的错误只发生在 ipad chrome 而不是 ipad safari。