如何检测运行Windows 8的HiDPI设备?
我正在测试的手机是诺基亚Lumia 920,它有一个4.5英寸的1280×768屏幕(即> 300 dpi)。IE在CSS中支持min-resolution,但不支持min-device-pixel-ratio。使用此器件像素密度测试,Lumia报告96 dpi。这远远低于实际的屏幕分辨率,并将被认为是一个常规的非HiDPI设备.
由于IE在JavaScript中还不支持JavaScript,所以我找不到一种方法来准确地检测Lumia,因为它能够显示HiDPI图像。
发布于 2013-02-02 04:16:04
查看http://timkadlec.com/2013/01/windows-phone-8-and-device-width/
理论上(我没有手机来测试这一点),如果您将以下所有内容添加到您的页面中,您应该能够获得Windows phone 8和Windows 8设备的有效DPR。
HTML元视图(当前/遗留的非W3C实现)
<meta name="viewport" content="width=device-width" /> CSS @viewport (当前/未来的W3C草案实现):
@-webkit-viewport{width:device-width}
@-moz-viewport{width:device-width}
@-ms-viewport{width:device-width}
@-o-viewport{width:device-width}
@viewport{width:device-width}Javascript禁用Windows 8中meta的奇怪@viewport覆盖:
if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
var msViewportStyle = document.createElement("style");
msViewportStyle.appendChild(
document.createTextNode(
"@-ms-viewport{width:auto!important}"
)
);
document.getElementsByTagName("head")[0].
appendChild(msViewportStyle);
}那么screen.width/document.documentElement.clientWidth应该是window.devicePixelRatio对所有正确实现screen.width的移动浏览器的有效逼近。
https://stackoverflow.com/questions/14654425
复制相似问题