首页配置为横屏模式,打开小程序有时获取到的设备屏幕宽度是竖屏状态的屏幕宽度。
开发者工具模拟器测试不出这个问题,在真机(iPhone13 390×844)测试时,大部分情况获取到的都是正常的844,偶然情况下获取到的是390。
第一次打开小程序时发生的概率很大。另外就是通过右上角“⋯”、“重新进入小程序”反复重启也有很大概率出现。
// pages/index/index.json
//配置页面默认横屏模式
{
"pageOrientation": "landscape"
}
// pages/index/index.js
const app = getApp()
Page({
data: {
screen_w:0
},
onLoad() {
wx.getSystemInfo({
success: (res) => {
this.setData({
screen_w:res.screenWidth
})
},
})
},
})
<!-- pages/index/index.wxml -->
<view>获取到的宽:{{screen_w}}</view>
真机截图:
每次必会复现这个问题:进入横屏页面后,点击右上角关闭小程序,竖屏状况下进入页面就是错乱的了
2023年了,请问这个问题解决了吗?
试试放到onShow里面来获取?onLoad的时候,可能小程序还处在loading页,整个屏幕并没有转过来