var systemInfo= uni.getSystemInfoSync()
直接打印几率性出现这个问题
并且uni.onWindowResize这个api有一个百分百复现的bug,返回的deviceOrientation字段百分百是反序的,然后size里面宽高也全部异常
产品分类: uniapp/H5
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 11
HBuilderX类型: 正式
HBuilderX版本号: 4.57
浏览器平台: 微信内置浏览器
浏览器版本: 最新内核版本
项目创建方式: HBuilderX
var systemInfo= uni.getSystemInfoSync()
直接打印几率性出现这个问题
并且uni.onWindowResize这个api有一个百分百复现的bug,返回的deviceOrientation字段百分百是反序的,然后size里面宽高也全部异常
横屏进入项目时
返回参数正常
参数返回异常,并且uni.onWindowResize获取的宽高是否横屏也是异常错误的
DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信
我看产品分类是 h5 ,我使用下面代码运行 vue3+ HBuilderX alpha 运行到 chrome,切换屏幕方向表现正常。你提供一个复现工程,并明确操作步骤吧。
<template>
<view>123</view>
</template>
<script>
export default{
onLoad() {
const windowResizeCallback = (res) => {
console.log(res.deviceOrientation)
console.log('变化后的窗口宽度=' + res.size.windowWidth)
console.log('变化后的窗口高度=' + res.size.windowHeight)
}
uni.onWindowResize(windowResizeCallback)
}
}
</script>
名帝 (作者) - I want to play a game with you.
<template>
<view class="" style="width: 100vw;height: 100vh;overflow: hidden;display: flex;justify-content: center;flex-direction: column;">
<view class="" style="width: 100%;height: 100%;display: flex;align-items: center;justify-content: center;">
{{windowInfo}}
</view>
</view>
</template>
<script>
export default {
components: {},
data() {
return {
windowInfo: {}
};
},
onLoad() {
this.$nextTick( () => {
this.listening()
} )
},
methods: {
listening() {
const windowResizeCallback = ( res ) => {
this.$set( this.windowInfo, 'windowWidth', res.size.windowWidth )
this.$set( this.windowInfo, 'windowHeight', res.size.windowHeight )
this.$set( this.windowInfo, 'landscape', res.deviceOrientation == 'landscape' )
console.log( "屏幕变化", this.windowInfo.landscape ? '横屏' : '竖屏', this.windowInfo.windowWidth, this.windowInfo.windowHeight )
}
uni.onWindowResize( windowResizeCallback )
}
},
};
</script>
<style>
</style>
名帝 (作者)
v2去微信浏览器试试,进入项目快速横屏手机纪律性能遇见,然后onWindowResize是百分百有问题的
2025-04-07 11:04
名帝 (作者)
快速横竖屏旋转手机几率大的很
2025-04-07 11:05