如何在安卓软键盘处于活动状态时阻止浏览器调整网页大小?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (17)

我正在为响应式网页设计开发一个Javascript / JQuery插件。它具有监视视口更改的功能,特别是调整大小和方向。当检测到更改时,会调用相应的回调函数。

但是,我刚刚注意到,在Android上,如果用户试图使用软键盘,则会调整视口大小,从而触发回调函数。这是我想消除的行为。

有没有办法 - 通过Javascript - 禁用此行为或检测它,这样我就可以更改代码库以适应它?

提问于
用户回答回答于

当软键盘显示/隐藏时会发生什么?在我的测试中,viewport width保持不变。但是,当软键盘显示(纵向)和横向(横向)时,viewport height更改大小[ ((current - previous)/previous)*100] 。

我所做的是在以下条件全都成立的情况下禁用回调函数:

  1. 该设备是移动的
  2. 视口宽度的百分比变化小于1%
  3. 视口高度的百分比变化大于35%

用户回答回答于

我有类似的问题。我的解决方案是使用方向更改事件,而不是在android:P上最少期望触发的resize事件:

$(window).bind( 'orientationchange', function(e){ // Type pretty code here });

扫码关注云+社区