1
LabJo 341 天前
放弃冷门型号
|
2
abelmakihara 341 天前
碰到过老小米 input 错位
这种真的没法解决 就普通的 input 我的建议是尽力就好.. |
3
lostexile OP 我在想,弄个查询网站,可以查所有机型的屏幕参数,包括模拟分辨率,物理分辨率,分辨比率,长款比之类的所有数据,各位同志觉得有必要吗?
|
4
keyrinrin 341 天前
1 、使用等比缩放布局,rem ,vw 之类的
2 、css 尽量使用百分比值 如果是响应式布局的话要考虑的比较多,很难做到 100%适配 |
5
wangtian2020 341 天前
移动端就百分比布局完事了
|
7
abcd191898105 341 天前
那不是有 rem dp 值吗
|
8
xiyan00 341 天前
按钮错位根 dpr 有关吗, 我是前端开发, 布局时完全不关心 dpr 这个值, 只在使用图片与绘图时使用 window.devicePixelRatio
|
12
lostexile OP |
13
Yuanlaoer 341 天前
手机的参数信息,尤其是显示屏这一块儿,做测试和开发工作的时候,确实是时不时需要关注的。但这类网站也有不少,我每次都是直接谷歌,好像每次看到的都不是同一家网站。
弄个查询网站的话,肯定是有价值,但盈利情况如何,就是另一个故事了。 |
14
juzisang 341 天前
遇到过一些很奇葩的机型,PPI 官方给得是个奇数,实际是个除不尽的数,在一些就要精确计算像素的场景,怎么搞都错位,遇到了只能给个 2-3px 的误差值...
|
15
BG7ZAG 341 天前
@lostexile 看看手机中国,里面好像有 PPI 啥的 https://product.cnmo.com/series/1106/param.html
|
16
lyxxxh2 341 天前
|
17
APool 341 天前
|
18
xiyan00 341 天前
@lostexile 你说的这个场景依然和 DPR 没有任何关系, 请使用小程序 API, getSystemInfo, getMenuButtonBoundingClientRect
如果你的职业是前端开发, 这种基础问题找了这么久都找不出问题所在, 到现在还归因于 dpr, 只能说即使是实习级别依然是不合格的 |
19
Ashore 341 天前
冷门机型直接放弃就行了
|
20
marcong95 341 天前
你想弄查询网站的话,那既然你已知型号网上都查不到 DPR ,那你查询网站的数据库怎么来呢?总不能把所有型号的手机都各买一台吧?
mydevice.io 之前印象中有收录过一些手机型号的相关信息,但是不齐全。刚刚上去看了下发现已经指向了这里 https://yesviz.com/viewport/ |
21
lostexile OP @xiyan00
@marcong95 按道理来讲确实和 DPR 没有关系,之前的实现逻辑也和 DPR 没有关系,所有这个问题是上了生产之后由业务反馈回来的。 出问题的机型是一加 5T ,我们组几个人讨论了一圈,最后才确定是 DPR 小于某个值才会复现的情况。 我们在处理这个问题的过程中搜了很多网站,包括 B 站的一些测评视频也找了,都没有这个参数相关的数据,所以才在处理这个 BUG 的问题上浪费了很多时间。 如果 DPR 或者屏幕 PD 这个参数确实会对前端开发产生影响,那有个数据库方便查询就有需求,所以才来这里开个帖子确认一下,如果大家有数据方面的需求,那就搞一个。这种查询网站技术上永远不是难点,难点就是在数据上,我这次是联系了一加的开发者中心确定了数据,后续如果真的有需要就每家手机厂商都联系一下呗,开发者中心的同事应该都有这些数据的。 |
22
xiyan00 341 天前
@lostexile 首先确认一下, 你说的 dpr 是不是 `window.devicePixelRatio`, 如果不是, 那就是鸡同鸭讲了, 假设就是 window.devicePixelRatio, 那么你的理解是完全错误的
dpr 是逻辑像素与物理像素的比例, 这个逻辑像素是针对开发来说的, 脱离开发, 这个概念没有任何意义 分辨率, PPI 这些才是屏幕的物理参数, dpr 压根就与硬件无关, 与设备无关, 你去哪里查参数 你所查到的也只是该设备默认设置下特定浏览器的 dpr, 如果你更改了系统字体大小, dpr 随之改变 所以你的标题就是错的, '屏幕的 DPR 值', 屏幕没有 DPR 值 你说难点在数据上, 确实难, 因为压根就没有, 你想无中生有去哪搞 你查到 一加 5T 的 DPR 是多少, 我查到屏幕分辨率是 1080p, 默认设置下 dpr 应该是 3, 你说 dpr <某个值才会复现, 如果 dpr 是 3 还能复现, 那么应该所有设备都能复现 你们讨论了一圈,最后才确定是 DPR, 估计你还是知其然而不知其所以然 我想问一下, 出问题的机型是一加 5T, 你们是怎么确定的 DPR 问题, 你测了几个正常的手机 dpr 多少, 一加 5T dpr 又是多少 |
23
lostexile OP @xiyan00
确定是 devicePixelRatio 逻辑像素与物理像素的比例。 真的,我知道你说的对,我们也都是这么理解。问题报过来之前,我们处理的逻辑就是获取设备和屏幕信息,抛去顶部和底部的各种 bar 之后剩下的是我们实际可用的安全区域。 我们不是微信小程序的开发环境,是我们公司自己的小程序环境,所以没有小程序那么完备的 sdk 。 最终确定问题是测试从家里找了一个低 DPR 的手机来,和客户的设备的 DPR 接近,最终我们用测试库的设备确定了 DPR 在 2.6 以下会稳定复现,确实是知其然不知其所以然。一加 5T 的 DPR 我们通过打官方的售后电话确认,应该是 2.17 。 |
24
j5159UqX6UKa360u 341 天前
@juzisang 难不成是某为?我就遇到过,在这类型系统我遇到过很多奇葩问题,比如相机返回支持某些参数,实际不支持,别的手机是圆形,他是不规则形状 等等。
|
25
xiyan00 341 天前
不理解取 statusBar 高度不是 sdk 提供, 而是小程序代码去计算, 我好奇你怎么计算,
你从代码里获取 dpr, 然后根据这个值来布局, 十有八九是错的, 能够运行也是误打误撞恰好能运行 高度怀疑你打售后确认的 2.17 这个值, 1080 / 2.17 = 498 了, 没碰到过会有这么宽的 dpr 不只与设备相关, 与系统设置相关, 与浏览器相关, chrome 和自带浏览器和微信就不一样, 和微信 App 内字体设置也相关, 当然你是自建的小程序 SDK, 那么根据具体算法也是相关, 这么多变量 2.17 这个值是怎么得出来的 |
27
lostexile OP @iamyourking
确实是😂,看来你也遇到过这个问题哈😂 @xiyan00 我是从小程序环境提供的 sdk 获取屏幕高度的,但是 sdk 确实没有提供 statusBar 高度,所以我说我们的小程序环境不是很完备么,我是做页面的开发,在小程序环境里面拿到屏幕的值然后去计算的,谁能想到和这个值有关系呢。 |
28
xiyan00 341 天前
我是说你的代码逻辑是错的, 与这个值相关是因为你用了这个值, 而且用错了
|
29
xiyan00 341 天前
如果你压根就不关心这个值, 不用, 布局就不会错
|