我有一个奇怪的问题。我正在开发一个Ionic应用程序,我需要将屏幕的宽度和高度发送到插件。我在javascript方面得到它们。
我在Nexus 6中测试,但值不正确。当此设备的屏幕为2k,2048x1080时,它返回660x412。
我试过了:
screen.height
window.innerHeight
window.outerHeight
所有这些都是错误的。
我的元视口是:
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
有人遇到过这个问题吗?
答案 0 :(得分:4)
问题是,这些宽度和高度可能并不代表物理屏幕,而是称为CSS像素的概念。
我们可以使用此值来获得物理屏幕尺寸,如下所示。
var physicalScreenWidth = window.screen.width * window.devicePixelRatio;
var physicalScreenHeight = window.screen.height * window.devicePixelRatio;
请注意,该值会根据屏幕的当前方向而改变。