收藏
回答

getMenuButtonBoundingClientRect,在真机调试中失效

框架类型 问题类型 操作系统 工具版本
小程序 Bug Windows 1.02.1812260

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

在使用开发者工具提供的 "真机调试" 功能,在"iPhone XR,IOS 12.1.1,wx 7.01"上调试"getMenuButtonBoundingClientRect"接口时:

  • 在onLoad钩子里调用`getMenuButtonBoundingClientRect`方法返回的对象`data`,是一个空对象!

  • 然后我用settimeout延后5s,再去访问这个返回的对象`data`,可以访问到正常结果。

  • 在不通过`真机调试`功能,直接在真机运行能一次获取到结果正常。

- 预期表现

希望通过"真机调试"功能也能得到一致的结果。

- 复现路径

请通过微信开发者工具的`真机调试`功能下,来跑这个接口。

- 提供一个最简复现 Demo

就onLoad里,直接调用这个接口,查看返回结果,最好用JSON.stringify固化下返回的对象。

onLoad() {

   const rectInfo = wepy.getMenuButtonBoundingClientRect()

    console.log(JSON.stringify(rectInfo))

    setTimeout(() => {

    console.log(JSON.stringify(rectInfo))

    }, 5000)

}



最后一次编辑于  2019-01-02
回答关注问题邀请回答
收藏

2 个回答

  • 程鼕
    程鼕
    2019-01-03


    看图吧

    2019-01-03
    有用
    回复 3
    • 琳
      2019-01-03


      看图

      2019-01-03
      回复
    • 程鼕
      程鼕
      2019-01-03回复

      我不是说不能打印;我的截图也打印出来了呀;我打印的是对象而已;我是说setData之后的是个空对象

      2019-01-03
      回复
    • 琳
      2019-01-03回复程鼕

      不和你扯那么多,自己开贴报bug。因为我试的,真机或者通过开发工具都可以赋值到非空对象。

      2019-01-03
      回复
  • HS
    HS
    2019-01-02

    扫描二维码预览,vConsole 是否是相同的表现呢

    2019-01-02
    有用
    回复 14
    • 琳
      2019-01-02

      扫描二维码预览, 通过vConsole 是有立即返回的数据。

      2019-01-02
      回复
    • HS
      HS
      2019-01-03回复

      感谢反馈,下个版本将修复此问题

      2019-01-03
      回复
    • 程鼕
      程鼕
      2019-01-03回复HS

      wx.getMenuButtonBoundingClientRect() 是异步操作吗? 这样做延时不合理呀?也没有回调函数?

      下面这样写,在开发者工具可以;手机扫码,或真机获取不到。

      Page({
       

      data: {

       
         iconStyle: wx.getMenuButtonBoundingClientRect(),
       
       }
       
      })

      如果做延时之后setData();发现手机上的尺寸和开发者工具不一样;请问下,这个bug,在处理吗?

      2019-01-03
      回复
    • 琳
      2019-01-03回复程鼕

      请在onLoad方法里面调用

      2019-01-03
      回复
    • 程鼕
      程鼕
      2019-01-03回复

      给我一个理由;和你一样写延时?不合理吧

      2019-01-03
      回复
    查看更多(9)
登录 后发表内容