uniapp 微信开发者工具 pc客户端预览 首页白屏

作者在开发过程中遇到uniapp小程序首页底部导航高度计算问题,尤其是在Windows、macOS和Linux等平台上。通过添加针对不同操作系统的判断条件和修正px值,解决了适配问题,强调了调试的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如题,今天在敲代码的时候遇到了这个问题,记录一下,一般小程序进入首页,我都会通过uniapp的api获得登录系统的信息,uni.getSystemInfo(),通过参数确定有底部导航栏和没有底部导航栏的高度,原本在安卓和ios都是完美运行的程序,到了客户端不显示还不报错,后来发现,osName这个字段为windows时状态栏高度为0,结果我对高度的设置没有成功,也为0,导致没有显示。

解决办法

加上对windows的判断,当然还有macos 和linux 一共五种情况。每一个平台的感觉有点误差,所以进行相应的调整。

总结

不要想着是平台的错,先看看自己代码有没有问题,debug是天。

代码段(自己看的,我觉得这个px适配大部分的手机了,微调后直接用)

if (res.statusBarHeight || res.statusBarHeight == 0) {
        if (res.osName == 'ios') {
          store.commit('uploadWindowHeight', res.windowHeight)
          store.commit(
            'bottomWindowHeight',
            res.screenHeight - res.statusBarHeight - 44
          )
          windowHeight.value = res.windowHeight
        } else if (res.osName == 'android') {
          store.commit('uploadWindowHeight', res.windowHeight)
          store.commit(
            'bottomWindowHeight',
            res.screenHeight - res.statusBarHeight - 49
          )
          windowHeight.value = res.windowHeight
        } else if (
          res.osName == 'windows' ||
          res.osName == 'macos' ||
          res.osName == 'linux'
        ) {
          store.commit('uploadWindowHeight', res.windowHeight - 58)
          store.commit('bottomWindowHeight', res.screenHeight - res.statusBarHeight)
          windowHeight.value = res.windowHeight - 58
        }
      }

忘记有个vh和vw了,小丑🤡,这个还是好用点

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值