onKeyboardHeightChange和onWindowResize监测不到高度变化 uni-app

onKeyboardHeightChange和onWindowResize监测不到高度变化 uni-app

操作步骤:

  • 点击webview里的input框 弹出键盘

预期结果:

实际结果:

  • 无法监测事件

bug描述:

  • onKeyboardHeightChange和onWindowResize监测不到高度变化。(webview里面的input)
    1. 标准基座正常,键盘弹起可以把input顶上去,事件也都能监测到,全都正常。
    1. 自定义基座和云打包后真机运行异常,键盘弹起会遮盖住input,也监测不到事件和高度。
信息类别 详细信息
产品分类 uniapp/App
PC开发环境操作系统 Windows
PC开发环境操作系统版本号 win11
HBuilderX类型 正式
HBuilderX版本号 4.66
手机系统 Android
手机系统版本号 Android 15
手机厂商 vivo
手机机型 vivoxflip
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

Image Image


更多关于onKeyboardHeightChange和onWindowResize监测不到高度变化 uni-app的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于onKeyboardHeightChange和onWindowResize监测不到高度变化 uni-app的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是一个已知的uni-app平台兼容性问题。在Android系统中,Webview内的键盘高度变化事件监听存在厂商差异,特别是vivo等定制系统可能拦截或修改了相关事件。

问题分析:

  1. 标准基座使用HBuilderX内置的Webview内核,事件监听正常
  2. 自定义基座和云打包后,系统Webview内核可能被厂商修改,导致事件无法触发
  3. Android 15系统对Webview的权限管理更加严格

解决方案:

  1. 使用原生插件:通过uni.requireNativePlugin调用原生键盘监听模块,绕过Webview限制
  2. 配置manifest.json:在"app-plus" -> “distribute” -> "android"下添加:
"softinputMode": "adjustResize"
回到顶部