收藏
回答

小程序启动时,iOS会触发onResize事件,安卓不触发,如何解决不对齐问题?

框架类型 问题类型 终端类型 微信版本 基础库版本
小程序 Bug 微信iOS客户端 8.0.27 15.6.1

  1. iOS 首次启动小程序,页面渲染时会触发 onResize 函数,并携带页面相关参数,同时会触发wx.onWindowResize() 中监听的函数。
  2. Android 首次启动小程序,页面渲染时不会触发 onResize 函数,同时wx.onWindowResize() 中监听的函数也不触发,仅在页面尺寸变化时触发 onResize 函数及 wx.onWindowResize() 中的监听函数。
  3. wx.onWindowResize()与onResize的区别是啥,使用时应该选择哪一个?
回答关注问题邀请回答
收藏

2 个回答

  • LastLeaf
    LastLeaf
    2022-09-14

    当分配给某个页面的显示区域尺寸发生变化的时候会触发这个页面的 onResize 。尺寸变化事件源于操作系统,在不同系统上有不同的表现是正常的。

    wx.onWindowResize 是在小程序运行期间、只要显示区域尺寸有变化就会被触发的事件,不针对特定的页面。因而通过这个事件往往很难准确区分是哪个页面发生了尺寸变化,甚至在一些特殊情况下,是找不到哪个小程序页面发生了尺寸变化的(即触发 wx.onWindowResize 时不一定有 onResize 被触发)。

    2022-09-14
    有用
    回复
  • 社区技术运营专员-Jahozheng
    社区技术运营专员-Jahozheng
    2022-09-13

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2022-09-13
    有用
    回复 2
    • Spot
      Spot
      2022-09-13
      代码片段:https://developers.weixin.qq.com/s/YLpjwfmA7xCx
      复现路径:打开代码片段->扫码预览->分别用安卓和ios手机预览->打开vconsole->查看log即可。
      会发现安卓的没有触发page中的onResize函数,ios的触发了。
      2022-09-13
      回复
    • Spot
      Spot
      2022-09-14
      后续呢?
      2022-09-14
      回复
登录 后发表内容