收藏
回答

getMenuButtonBoundingClientRect()真机测试bug

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug getMenuButtonBoundingClientRect() 客户端 7.0.3 2.6.1

想获取胶囊定位信息做自定义头部的适配,然后发现wx.getMenuButtonBoundingClientRect()在开发工具和真机调试不一样,在开发工具上能够正常使用,在真机测试上获取定位值时变为undefined,这个情况似乎只有开真机测试才会这样,用预览功能也能正常获取

代码:

app.js


index.js



开发工具控制台与真机调试控制台对比:


回答关注问题邀请回答
收藏

5 个回答

  • ShinBlueCat
    ShinBlueCat
    2019-03-05

    可以在onShow中试试吗,加载时序上可能会导致onLoad无法get

    2019-03-05
    有用
    回复 3
    • 面条君
      面条君
      2019-03-05

      onshow和onready我都试过

      2019-03-05
      回复
    • ShinBlueCat
      ShinBlueCat
      2019-03-08回复面条君

      这边找了好多台机器都没法复现,问题记下了我们跟进一下

      2019-03-08
      回复
    • 面条君
      面条君
      2019-03-08回复ShinBlueCat

      谢谢啦,这个api出现这样的问题我觉得应该是异步的问题,手机是华为荣耀8青春版,只要用的真机调试控制台打印出来的都是undefined,你们可以试一下

      2019-03-08
      回复
  • 2019-03-18
    getMenuButtonBoundingClientRect这个api问题多多呀,另外这些历史问题都遇到过,快哭了都:

    https://developers.weixin.qq.com/community/develop/doc/0002a496594bc88f97f7984a451000

    https://developers.weixin.qq.com/community/develop/doc/0006cc9c1f04f817b8b709ec351000

    https://developers.weixin.qq.com/community/develop/doc/0008aa20650a406b169775dc45b000


    -----

    最好是新出个api帮助大家“自定义导航栏”,一劳永逸~

    2019-03-18
    有用 2
    回复
  • 醉春风
    醉春风
    2019-05-06

    我遇到的到不是undefined,但是数据也不对。

    2019-05-06
    有用
    回复
  • -zWing
    -zWing
    2019-03-07

    同样

    2019-03-07
    有用
    回复
  • 疯狂的小辣椒
    疯狂的小辣椒
    2019-03-04

    请提供一下能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2019-03-04
    有用
    回复 7
    • 面条君
      面条君
      2019-03-04

      复现代码:https://developers.weixin.qq.com/s/Kk1TBCml7S6A

      2019-03-04
      回复
    • 疯狂的小辣椒
      疯狂的小辣椒
      2019-03-04回复面条君

      是不是只有以上的截图提供的设备才会出现这个问题?我使用代码片段在华为Nova3e上测试正常的

      2019-03-04
      回复
    • 面条君
      面条君
      2019-03-05回复疯狂的小辣椒

       我的测试用的华为荣耀8,试了n遍,清缓存,重启,各种方式都测过,真机调试控制台打印出来的就是undefind,只有开那个真机测试是不正常的,用预览功能正常显示自定义头部

      2019-03-05
      回复
    • 面条君
      面条君
      2019-03-05回复疯狂的小辣椒

      这个getMenuButtonBoundingClientRect()APi是异步的,一开始打印的时候是{}一个空对象,后来再异步插属性进去,所以后面获取不到属性值,用settimeout输出是正常的,我用了其他手机测试有几部可以,有几部不行,这个胶囊定位的接口我打算用来做自定义头部的适配的,一进去小程序就要获取胶囊信息对头部进行自适应,遇到这样的情况,是不是说明这个API的兼容性有点问题?


      2019-03-05
      2
      回复
    • 2019-04-20回复疯狂的小辣椒

      ios表示预览都失败,只有电脑模拟正常的

      2019-04-20
      1
      回复
    查看更多(2)
登录 后发表内容