多次重复打开
- 发布:2020-06-19 11:43
- 更新:2022-11-21 10:25
- 阅读:2260
【报Bug】uni.getSystemInfoSync() 获取屏幕信息有误
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10
HBuilderX类型: 正式
HBuilderX版本号: 2.7.9
手机系统: iOS
手机系统版本号: iOS 12.4
手机厂商: 苹果
手机机型: 6
页面类型: vue
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
打开后获取的高度一致
打开后获取的高度一致
实际结果:
重复打开几次后获取的高度不一致
重复打开几次后获取的高度不一致
bug描述:
uni.getSystemInfoSync()
获取高度随机
页面1
<template>
<view class="pages" >
<text>页面1</text>
<button type="default" @tap="toPage">转页面2</button>
</view>
</template>
<script>
export default {
data() {
return {
socket : false
}
},
onLoad() {
},
methods: {
toPage() {
uni.navigateTo({
url: '/pages/index/test2',
});
}
}
}
</script>
<style>
</style>
页面2
<template>
<view class="pages" >
<text >页面2</text>
</view>
</template>
<script>
export default {
data() {
return {
socket : false
}
},
onLoad() {
console.log(uni.getSystemInfoSync().safeArea.height);
},
methods: {
}
}
</script>
<style>
</style>
示例图片无法插入
DCloud_UNI_Anne
在onReady里获取,问题已记录后续优化,感谢您的反馈!
2020-12-25 11:38
MonikaChen
回复 DCloud_UNI_Anne: 应该优化不了吧,没ready之前,页面还没渲染,高度肯定无法确定
2020-12-25 23:52
DCMarvel (作者)
回复 MonikaChen: 获取设备屏幕高度就不应该涉及到渲染
2020-12-26 11:07
MonikaChen
回复 DCMarvel: getSystemInfo里面有个windowHeight,这是去除了顶部导航栏高度之后的高度,如果没ready,这个高度会大
2020-12-26 23:56
DCMarvel (作者)
回复 MonikaChen: windowHeight 不应该是屏幕高度吗,就应该包含顶部导航栏啊,我想开发想要获取屏幕高度就是真实的屏幕高度,包含不包含顶部导航栏或tab栏都应该获取高度后在处理,不是获取到已经处理过的高度 !卧槽 刚刚看文档发现screenHeight,不知道什么时候更新的.....
2020-12-27 09:25
MonikaChen
回复 DCMarvel: 我实践测试windowHeight是去除了顶部导航后的高度,所以在做网页时,在ready里获取,不然无法满足我的要求
2020-12-28 00:37