收藏
回答

子页面获取windowHeight不正确

问题模块 框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 Bug wx.getSystemInfoSync() 微信iOS客户端 6.6.6 2.0.8

- 当前 Bug 的表现(可附上截图)

如果有tabbar,用wx.getSystemInfoSync()获取到得所有页面的windowHeight都会少了tabbar得高度,然而子页面是没有tabbar的,这样的高度是不正确得

- 预期表现


- 复现路径

app.json 一个有tabbar和没有tabbar

- 提供一个最简复现 Demo


最后一次编辑于  2018-05-21  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

4 个回答

  • 娇华
    娇华
    2018-05-21

    麻烦给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),我们定位下问题

    2018-05-21
    赞同
    回复 13
    • 吟渐的小风dee
      吟渐的小风dee
      2018-05-22
      wechatide://minicode/viUHFAmo6kZ3 你看一下
      2018-05-22
      回复
    • June
      June
      2018-05-23回复吟渐的小风dee
      尝试下在onLoad的时候再调用 wx.getSystemInfoSync 接口
      2018-05-23
      回复
    • 大先生
      大先生
      2018-05-24回复June
      不管在onLoad 还是在 onReady 获取到的windowHeight 都是不对的。 感觉 wx.getSystemInfo 读取到的信息是缓存的信息。 我直接从主页进,windowHeight 是减去tabbar 的高度。 我直接从子页面直接进入(不是从主页面跳转进入),windowHeight是没有减去tabbar 的高度。 所以这个wx.getSystemInfo 方法给我感觉,一旦调用过一次,后续的调用这个方法是不是读取的缓存呢?
      2018-05-24
      1
      回复
    • 大先生
      大先生
      2018-05-24回复June
      从主页跳转到子页面(navigateTo() 跳转,保留当前主页面,然后在子页面获取windowHeight的高度,其实还是依赖主页面的可使用高度windowHeight呢?), 是不是这个原因呢?
      2018-05-24
      1
      回复
    • June
      June
      2018-05-24回复大先生
      你这边说没有减去tabbar高度是指两个页面获取到的windowHeight相等的?我这边用你的代码片段试了下确实是不同的 以iPhone6为例子,主页555,sub页是603.
      2018-05-24
      回复
    查看更多(8)
  • 吟渐的小风dee
    吟渐的小风dee
    2018-05-24


    2018-05-24
    赞同
    回复
  • 大先生
    大先生
    2018-05-25

    好的

    2018-05-25
    赞同
    回复
  • 陈小平
    陈小平
    2018-06-01

    这个问题解决了吗?我也遇到了

    2018-06-01
    赞同
    回复 1
    • 吟渐的小风dee
      吟渐的小风dee
      2018-06-01

      没解决

      2018-06-01
      回复