1***@163.com
1***@163.com
  • 发布:2024-10-22 18:26
  • 更新:2024-10-24 11:25
  • 阅读:124

【报Bug】uni.getSystemInfoSync()的devicePixelRatio在web异常

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 10 x64

HBuilderX类型: 正式

HBuilderX版本号: 4.29

浏览器平台: Chrome

浏览器版本: 130.0.0.0

项目创建方式: HBuilderX

示例代码:

<template>
<view class=" content">

</view>  

</template>

<script>
export default {
data() {
return {
}
},
onReady() {
let sys=uni.getSystemInfoSync();
console.log(sys);
}
}
</script>

<style lang="scss" scoped>
.content{
width: 100vw;
height: 100vh;
}

</style>

操作步骤:

最新版的uni-app直接新建一个页面,复制上面代码运行就行,

预期结果:

希望本地运行和打包后的一致
let sys=uni.getSystemInfoSync();
console.log(sys);
在pc端的浏览器 sys.devicePixelRatio=1;

实际结果:

实际结果是
let sys=uni.getSystemInfoSync();
console.log(sys);
在pc端的浏览器 sys.devicePixelRatio=2.5;

bug描述:

let sys=uni.getSystemInfoSync();  
console.log(sys);  

在同一个浏览器中,pc端模式运行,这个方法在本地运行和打包后获取到的devicePixelRatio不一致,本地获取到的是2.5,打包后的是1,导致windowHeight和windowWidth差距较大,导致pc端的独立渲染的UI失效,设置的px失效,实际比设置的px变大,打包后的没有这个现象

2024-10-22 18:26 负责人:无 分享
已邀请:
DCloud_UNI_OttoJi

DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信

感谢反馈,我测试一下。你也可以临时在 web 端使用条件编译 window.devicePixelRatio

  • DCloud_UNI_OttoJi

    经过我测试 vue3+web,分别在普通窗口模式下、模拟 iphone12pro 窗口下观察 devicePixelRatio 在 dev 和 build 的结果,结果相同,分别是 1 和 3,没有复现你到问题。

    2024-10-25 12:04

要回复问题请先登录注册