uni.getSystemInfoSync()
- 发布:2020-06-01 10:58
- 更新:2021-04-19 16:20
- 阅读:1160
产品分类: uniapp/H5
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 10.15.1 Beta版(19B77a)
HBuilderX类型: 正式
HBuilderX版本号: 2.7.5
浏览器平台: Chrome
浏览器版本: 83.0.4103.61(正式版本)
项目创建方式: HBuilderX
操作步骤:
预期结果:
uni.getSystemInfoSync().screenWidth = 2560;
uni.getSystemInfoSync().screenHeight = 1440;
uni.getSystemInfoSync().screenWidth = 2560;
uni.getSystemInfoSync().screenHeight = 1440;
实际结果:
uni.getSystemInfoSync().screenWidth = 1440;
uni.getSystemInfoSync().screenHeight = 2560;
uni.getSystemInfoSync().screenWidth = 1440;
uni.getSystemInfoSync().screenHeight = 2560;
bug描述:
在做PC应用时screenHeight和screenWidth取反了,实验后得知是screenWidth会取屏幕宽高的最小值,screenHeight会取屏幕的最大值,这在移动端是可行的,但在做PC的时候不合理。对应的windowWidth也会在PC的场景取到错误的值。
2 个回复
DCloud_UNI_GSQ
bug确认,已经加分,后续修复
临时解决方案:如是写业务代码,可以条件编译直接使用 window.screen
luojl
在pc端我是通过使用这个函数获取变化宽度的,以下是代码
//初始屏幕宽度
//.banner为目标view的类名
var wdwidth = 0;
uni.createSelectorQuery().select('.banner').boundingClientRect(data => {
wdwidth = data.width
}).exec();
//屏幕变化获取宽度
uni.onWindowResize((res) => {
uni.createSelectorQuery().select('.banner').boundingClientRect(data => {
wdwidth = data.width
}).exec();
});