在Windows Phone 8上查找IE10中的屏幕分辨率

时间:2014-02-22 18:06:55

标签: javascript html css windows-phone-8 internet-explorer-10

我正在尝试制作需要全屏分辨率的Windows Phone 8的网络应用

似乎没有办法发现这个

使用:<meta name="viewport" content="width=device-width, user-scalable=no" />

这将始终为320

使用javascript screen.width返回320

使用javascript screen.availWidth返回320

我已经整理了一些似乎现在正在运作的代码:

JavaScript的:

window.devicePixelRatio = window.devicePixelRatio || screen.deviceXDPI / screen.logicalXDPI;
var actualWidth = screen.width * window.devicePixelRatio;
actualWidth = actualWidth - (actualWidth % 2);
var actualHeight = screen.height * window.devicePixelRatio;
actualHeight = actualHeight - (actualHeight % 2);

// TEMP FIX!
if(actualHeight == 1282){
    actualHeight = 1280;
}

$(window).bind('resize', function() {
    if(window.innerHeight > window.innerWidth){
        // portrait
        width = actualWidth;
        height = window.innerHeight;
    }else{
        // landscape
        width = actualHeight;
        height = window.innerHeight;
    }

    $('html').css('width', width);
    $('body').css('width', width);
}).trigger('resize');

CSS:

@media screen and (orientation:portrait) {
    @-ms-viewport { width: 720px; }
}
@media screen and (orientation:landscape) {
    @-ms-viewport { width: 1280px; }
}

有没有更好的方法在Windows Phone 8上找到真正的屏幕分辨率?

非常感谢有关此问题的任何帮助/建议,谢谢!

1 个答案:

答案 0 :(得分:0)

使用javascript,此代码适用于任何设备:

var width = window.innerWidth;
var height = window.innerHeight;