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