在PhoneGap上将图像设置为全屏高度 - 了解window.devicePixelRatio

时间:2015-09-19 00:07:42

标签: javascript screen-resolution viewport-units html5-fullscreen pixel-density

我正在尝试将图片设置为phoneGap应用中屏幕的全高。目前,我正在使用以下代码来确定屏幕“尺寸”,我正在使用javascript将图像分辨率设置为这些dims。

$('.fullPageImage').height(window.screen.availHeight);

这会在iPhone 6(视网膜显示屏)上产生所需的效果,并在我的笔记本电脑上呈现。问题是当我在我的Galaxy Note-3上尝试它时,图像是巨大的,这就是为什么:当我console.log(window.screen.availHeight);时,Note似乎认为它的高度是 1920 像素 - 而我的iPhone 6只有 647 (它是一个视网膜显示器),所以我知道1920不是实际的像素数(或者是它?)。我查看了设备如何获取window.screen.availHeight,并发现这个变量名为window.devicePixelRatio,而注释3中的值为 3 。我认为Note 3上的视口尺寸是360x640,因此devicePixelRatio的 3 是有意义的。现在,让我感到困惑的是,当我在iPhone 6上console.log(window.devicePixelRatio);时,结果是 2 。我尝试使用以下代码将图像高度设置为“availHeight”值的1/3:

$('.fullPageImage').height(window.screen.availHeight/window.devicePixelRatio);

并且它在Note 3上运行良好(因为它将图像高度缩小到360 - 应该如此),但在iPhone上,将图像缩小到324(或接近某些东西)意味着图像仅显示在页面高度的一半。

我的问题是,我是否可以从设备中获取另一个变量,而不是除以devicePixelRatio,以确定缩小图像的比例?由此产生的比率在iPhone上 1 ,在Note 3上 1/3 ,以使图像在整个高度上正确显示。

提前非常感谢你!

0 个答案:

没有答案