我正在尝试制作需要全屏分辨率的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上找到真正的屏幕分辨率?
非常感谢有关此问题的任何帮助/建议,谢谢!
答案 0 :(得分:0)
使用javascript,此代码适用于任何设备:
var width = window.innerWidth;
var height = window.innerHeight;