ionic框架的web的键盘显示在安卓uc浏览器上的兼容性问题


ionic框架搭建的web平台,在安卓uc浏览器上,点击输入框,弹出键盘,但是键盘上方还会多出多余的空白,不知道是什么原因。

原生浏览器和QQ浏览器都不会,就uc会。

您可以创建一个ionic的测试项目,加上输入框(输入框要相对低点,在键盘弹出的时候,能引起内容往上推才可以,直接弹出键盘,内容不用移动的情况,没问题),在安卓的uc浏览器上打开,就可以测试了。

我猜想是 ionic 布局方式的问题,绝对定位布局的关系吧,其他网站不会,我尝试过把 <ion-content></ion-content> scroll 设为 false ,自己加上滚动,但还是不行。

附上ionic的地址, ionic

这问题困扰我好久了,一直找不到解决的方法,ionic的论坛肯定没有此解决方法,毕竟这是国产浏览器的兼容性问题。各位如果也遇到此问题,还望能一起讨论。:)

图片描述

uc浏览器 web前端开发 移动web开发 ionic ionicframework

月雲華風_双影 9 years, 3 months ago

这个我找到解决办法了,我给html和body设置不同的颜色,之后我发现是body的部分发生了滚动,解决办法是监听keyboardshow事件,然后设置body的scrollTop


 window.addEventListener('native.keyboardshow',eventHandler);
function eventHandler(){
    document.body.scrollTop=0;
    document.documentElement.scrollTop = 0;//兼容不同版本的浏览器
    window.pageYOffset = 0;
}

你可以尝试能不能解决

人不H枉少年 answered 9 years, 3 months ago

Your Answer