1***@qq.com
1***@qq.com
  • 发布:2017-05-19 15:42
  • 更新:2017-09-13 11:20
  • 阅读:1843

底部选项卡被输入法撑起,双webview的情况。

分类:MUI

底部选项卡是main.html,在里面创建了子webview,在子webview中有输入框。输入框获取焦点的时候,选项卡会被顶起来。之前通过resize方式:

//解决输入法界面将底部选项卡推上去  
        function inputBtmPosition() {  
            originalWebH = plus.android.invoke(plus.android.currentWebview(), "getHeight");  
            //防止 父页面选项卡被输入法撑起  
            window.addEventListener('resize', function() {  
                var newH = plus.android.invoke(plus.android.currentWebview(), "getHeight");  
                //              document.getElementById("idnav").style.display = originalWebH - newH > 200 ? "none" : "block";  

                if(activeIndex == 0) {  
                    if(originalWebH - newH > 200) {  
                        subPageArray[0].setStyle({  
                            top: '0',  
                            bottom: '0'  
                        });  
//                      setTimeout(function(){ },0);  
                    } else {  
                        subPageArray[0].setStyle({  
                            top: '0',  
                            bottom: '61px'  
                        });  
                    }  

                }  

            }, false);  

        }

这样的话,输入法弹出后,会自动又缩回去。有没有好的方案?

2017-05-19 15:42 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com - 天下风云出我辈

我解决了。而且我寻遍网络发现这个是我首创的方法,太特么有成就感了
mui.plusReady(function(){
plus.webview.currentWebview().setStyle({
height:document.documentElement.clientHeight+"px"
})
});
加上如下代码搞定

  • liusheng22

    并没有用啊...反而被顶的更高了!

    2018-02-09 09:53

  • 1***@qq.com

    @282664560@qq.com:你写错地方了

    2018-02-24 14:06

  • 落日逢佳雨

    这个方法你用mi8试试

    2018-07-31 16:52

  • Denty

    牛逼 已解决

    2019-01-25 14:48

  • 1***@qq.com

    这个方法需要加在webview首页,有一点不太好的,有时候又需要底部的弹框被顶起来。

    2019-08-09 10:39

Neil_HL

Neil_HL

把下面的代码放到mui.plusReady里

var controlH = true;  
window.onresize=function(){  
    if(controlH){  
        controlH = false;  
        plus.webview.getWebviewById("tab-home.html").setStyle({  
            'bottom':'0'  
        })  
    }else{  
        controlH = true;  
        plus.webview.getWebviewById("tab-home.html").setStyle({  
            'bottom':'51'  
        })  
    }  
}
  • liusheng22

    Cannot read property 'setStyle' of null

    2018-02-09 09:46

1***@qq.com

1***@qq.com

遇到同样的问题 请问解决了么

该问题目前已经被锁定, 无法添加新回复