收藏
回答

wx.getSystemInfo()?

调用wx.getSystemInfo()函数成功以后,返回的对象中,screenHeight 和 windowHeight,这两个值有时候相等,有时候又不一样,是什么原因造成的。。。。

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

2 个回答

  • 崖月减肥中,不瘦三十斤不换名字
    崖月减肥中,不瘦三十斤不换名字
    2021-06-26

    本身二者就不是一个意思,screenHeight是屏幕高度, windowHeight是窗口高度。比如用户分屏,或者pc端小程序,都会引起二者有巨大差异,小米手机还有悬浮小窗模式,这些模式中屏幕高度肯定是不会变化的,窗口高度才是你小程序可使用的高度。

    2021-06-26
    有用 1
    回复 10
    • belief
      belief
      2021-06-26
      现在的关键是,这两者不是一个意思,返回的高度不应该相等才对;screenHeight > windowHeight这样才对;现在我这边出现的问题是,有时进入小程序,会出现 screenHeight > windowHeight,有时会出现 screenHeight = windowHeight。
      我的小程序页面时根据手机窗口高度设定的大小,不会出现上下滑动;如果出现screenHeight = windowHeight 时,页面就会超出窗口高度
      2021-06-26
      回复
    • belief
      belief
      2021-06-26
      没有规律可言,有时不相等,有时相等;什么情况才可能造成screenHeight = windowHeight 出现
      2021-06-26
      回复
    • 崖月减肥中,不瘦三十斤不换名字
      崖月减肥中,不瘦三十斤不换名字
      2021-06-26回复belief
      全面屏模式就是相等啊,跟用户设备有关,新手机一般都是相等,特殊情况才会不等,比如我上面说的悬浮小窗,分屏,pc微信。如果你是为了避免滑动,可以用overflow:hidden。这个要你自己评估,本来你们设计的正常手机尺寸,可是我用了分屏模式,高度只有原先的1/4,你还是要求不能滚动么?这个策略要你们去处理,一般用windowHeight,但是这个会变,你可以pc微信测一下,或者找个可以分屏的手机测一下。
      2021-06-26
      回复
    • belief
      belief
      2021-06-26
      官方文档中,windowHeight是减去通知栏,导航栏,screenHeight是包括通知栏,导航栏;先不考虑分屏模式、pc端、悬浮小窗模式等,就是正常手机(同一部手机),也有时相等,有时不等
      2021-06-26
      回复
    • 崖月减肥中,不瘦三十斤不换名字
      崖月减肥中,不瘦三十斤不换名字
      2021-06-26回复belief
      先不说你说的场景可不可能存在,我的意思是你完全可以规避这个问题换一个用法,因为你的用法本身就不是很合理,你只需要使用windowHeight就好,完全不用管他们是否相等,除非一些特定兼容处理。
      2021-06-26
      回复
    查看更多(5)
  • %
    %
    2021-08-19

    获取的时机太早了导致的

    晚一些执行getSystemInfo,比如在onReady中

    2021-08-19
    有用
    回复
登录 后发表内容