我正在构建一个页面,向用户显示尽可能多的有关其设备的信息。对于移动设备,物理分辨率与浏览器解释的分辨率不同,因为否则高分辨率设备将无法很好地显示页面。
例如,我的Moto X Style的分辨率为1440 x 2560像素,甚至高于大多数PC显示器。它按设备像素比例缩小,在我的设备上设置为3.5。这使得解释的解决方案成为了解决方案。 412 x 732像素
对于许多设备,将screen.[width/height]
的解释分辨率相乘并乘以window.devicePixelRatio
就足够了。然而在我的情况下,这只是一个估计,并出现在1442 x 2562,可能是因为四舍五入。
有没有确定的方法来获得这个确切的价值?或者可以抑制这些值的舍入?任何想法都表示赞赏。
答案 0 :(得分:1)
您可以尝试此操作以获取当前设备的精确高度
var w = window.innerWidth;
var h = window.innerHeight;
答案 1 :(得分:1)
查看此页面:
http://www.quirksmode.org/blog/archives/2012/07/more_about_devi.html
显然,它会因设备而发生变化,但您在正确的轨道上:
Math.round(screen.width||height*window.devicePixelRatio)
祝你好运。
答案 2 :(得分:0)
我使用它们来获取浏览器窗口的宽度/高度。
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="2dp" />
<solid android:color="@android:color/white" />
<stroke
android:width="3dp"
android:color="@android:color/black" />
</shape>