我试图弄清楚如何通过 Javascript 获取设备屏幕的物理尺寸。到目前为止,我的结论是目前不可能,但我希望有人能证明我错了:)。
到目前为止,我已尝试通过查找设备的 DPI 来获取此信息,但似乎无法在这里获得正确的值,因为我测试过的所有设备(一些 HDPI 和 XHDPI Android 设备、iPhone4S、iPad 2 和iPad 3) 报告 96DPI。
我尝试的第一种获取 DPI 的方法是您可以在 Internet 上随处找到的方法:创建div
一个 CSS 宽度为 的1in
,获取它的clientWidth
or offsetWidth
,然后就是您的 DPI。不行,所有设备都报96。
第二种方法是使用分辨率媒体查询,类似于:
for (var i=90; i < 400; i++) {
if (matchMedia('(resolution: ' + i + 'dpi)').matches) {
return i;
}
}
我认为这是一个聪明的解决方案,但不幸的是,它也返回 96。
还有什么我可以尝试的吗?