Ionic app中的屏幕尺寸错误

时间:2016-03-21 17:30:33

标签: javascript android cordova ionic-framework screen-resolution

我有一个奇怪的问题。我正在开发一个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">

有人遇到过这个问题吗?

1 个答案:

答案 0 :(得分:4)

问题是,这些宽度和高度可能并不代表物理屏幕,而是称为CSS像素的概念。

我们可以使用此值来获得物理屏幕尺寸,如下所示。

var physicalScreenWidth = window.screen.width * window.devicePixelRatio;
var physicalScreenHeight = window.screen.height * window.devicePixelRatio;

请注意,该值会根据屏幕的当前方向而改变。