5***@qq.com
5***@qq.com
  • 发布:2023-07-24 19:10
  • 更新:2024-10-10 16:43
  • 阅读:539

【报Bug】安卓端使用plus.webview.currentWebview().setStyle 设置 bottom 无效

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win11

HBuilderX类型: 正式

HBuilderX版本号: 3.6.18

手机系统: 全部

手机厂商: 华为

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

测试过的手机:

荣耀X20,iphone12

示例代码:
try{  
                        let ua = uni.getSystemInfoSync().platform  
                        if(/ios/i.test(ua)){  
                            plus.webview.currentWebview().setStyle({  
                                top:plus.navigator.getStatusbarHeight() + 'px',  
                                background:'#366BED',  
                                bottom:'0px',  
                            }); //设置一个状态栏高度和背景颜色 plus.navigator.getStatusbarHeight() 为获取当前手机的状态栏高度  
                            resolve()  
                        }else if(/android/i.test(ua)){  
                            document.addEventListener('plusready',()=>{  
                                // uni.createSelectorQuery().select('.uni-navbar__header-container'  
                                uni.getSystemInfo({  
                                    success: (res) => {  
                                        plus.webview.currentWebview().setStyle({  
                                            top:plus.navigator.getStatusbarHeight()+'px',  
                                            background:'#366BED',  
                                            bottom:'0px',  
                                        }); //设置一个状态栏高度和背景颜色 plus.navigator.getStatusbarHeight() 为获取当前手机的状态栏高度  
                                        resolve()  
                                    }  
                                })  

                            })  
                        }  
                    }catch(err){  
                        console.log('err---------------',err)  
                    }

操作步骤:

在APP.vue得onLaunch中使用代码示例当中得代码,然后使用HbuidX中得发行=》网站-PC Web 或手机H5(仅适用与uni-app)功能发布打包后。

预期结果:

希望安卓端设置得bottom生效,使得tabBar在屏幕最下方。

实际结果:

安卓端tabBar被设置得top挤下去了,导致显示不全

bug描述:

使用plus.webview.currentWebview().setStyle({top:plus.navigator.getStatusbarHeight()+'px',background:'#366BED',bottom:'0px',}); 设置webview得top跟bottom值时,ios端能正常使用,在安卓端bottom设置得值无效

2023-07-24 19:10 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com

安卓端获取webview对象使用this.$scope.$getAppWebview()

onReady() {  
        // #ifdef APP-PLUS  
        // 此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用   
        // plus.webview.currentWebview()无效  
        let currentWebview = this.$scope.$getAppWebview()  
        setTimeout(function() {  
            currentWebview.children()[0].setStyle({  
                top: Vue.prototype.StatusBar,  
                height: Vue.prototype.safeArea.height,  
                scalable: true  
            })  
        }, 16); //如果是页面初始化调用时,需要延时一下  
        // #endif  
    },

要回复问题请先登录注册