收藏
回答

wx.getSystemInfoSync() 提供假信息?

简单描述就是:wx.getSystemInfoSync()接口返回的windowHeight与真机调试返回的不符。windowHeight被注释为可使用高度,在开发者工具中减去了tabbar的高度,但真机并没有减去,导致我真机和开发者工具不一样!熬了好几天呢😁😁😁🥴




小程序wx.getSystemInfoSync()返回虚假的windowHeight,这个问题我之前在另一个项目中也遇到过,但是当时以为是别的框架的问题,而这次换回了原生后还出现了这样的问题,我使用自定义tabbar(上次没有使用!)的时候有时候windowHeight是正常计算tabbar的但有时候又不能计算!


具体的情况在小程序开发者工具中和真机调试中出现,还有开发者版本预览。以下是代码截图


这是小程序开发者工具下的样式,计算的高度符合预期,与tabbar的灰色区域能证明,找不到看鼠标指针!


这是真机调试下的样式,最后一个元素已经超过了预期范围

此外!在真机中减去tabbar的高度后显示的效果就是开发者工具的效果,我因为这个判断了wx.getSystemInfoSync()接口没有在真机下减去tabbar的高度


很抱歉由于工作有点忙没有办法提供demo给你们,但是!这个问题复现起来很简单。此外建议升级一下开发者社区的代码块功能,为什么是乱码的?!

最后一次编辑于  2023-07-24
回答关注问题邀请回答
收藏

1 个回答

  • 社恐的王同学
    社恐的王同学
    2023-07-24

    代码问题,获取window高度 与关闭tabbar同步执行问题,最好获取高度再关闭tab回调后执行或者 获取高度成功后再关闭tab

    onShow(){
      //获取没有tab高度的windowHeight
        wx.hideTabBar({
          fanimation: false,
          success:res=>{
            this.getMultipleRects()
          }
         })
     //获取有tab高度的windowHeight 在获取高度后再关闭tab  
    
    }
          
    


    2023-07-24
    有用 1
    回复 2
    • 社恐的王同学
      社恐的王同学
      2023-07-24
      2023-07-24
      回复
    • locter
      locter
      2023-07-24回复社恐的王同学
      好的非常感谢,这样顺利解决了我真机上的问题,但是开发者工具即便在关闭tabbar的情况下还是减去了tabbar的高度,就是用你这个success之后出现的,这估计是官方的漏洞,如果你可以艾特一下官方,能帮我艾特一下吗?
      2023-07-24
      回复
登录 后发表内容