Fel*_*lix 16 javascript dimension
我试图弄清楚如何通过Javascript获取设备屏幕的物理尺寸.到目前为止,我的结论是,它目前是不可能的,但我希望有人可以证明我错了:).
到目前为止,我已经尝试通过查找设备的DPI来获取此信息,但似乎没有办法在这里获得正确的值,因为我测试的所有设备(一些HDPI和XHDPI Android设备,iPhone4S,iPad 2和iPad 3)报告96DPI.
获得我尝试过的DPI的第一种方法是你可以在互联网上随处找到的方法:div
用CSS宽度创建一个1in
,得到它clientWidth
或者offsetWidth
你的DPI.不起作用,所有设备报告96.
第二种方法是使用分辨率媒体查询,类似于:
for (var i=90; i < 400; i++) {
if (matchMedia('(resolution: ' + i + 'dpi)').matches) {
return i;
}
}
Run Code Online (Sandbox Code Playgroud)
我认为这是一个聪明的解决方案,但不幸的是,它也会返回96.
还有什么可以尝试的吗?
ric*_*ter 12
96"DPI"是一个与现实无关的网络标准.它测量的英寸最好被认为是"逻辑"英寸,它对应于字体度量和CSS测量(可以包括点和英寸).排版中的"点"定义为1/72英寸,但屏幕停止时始终为72 DPI.因此,现在所有的CSS点真正意味着96点字体高72像素.(这是合乎逻辑的像素,因为这个问题现在被hi-DPI屏幕进一步混淆了.)
无论如何,大多数本机操作系统都不知道他们真正的物理屏幕尺寸,所以他们甚至没有关于这样的信息,他们可以通过浏览器向Web应用程序公开.你问的是不可能的.
归档时间: |
|
查看次数: |
12164 次 |
最近记录: |