首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检测HiDPI Windows 8设备

检测HiDPI Windows 8设备
EN

Stack Overflow用户
提问于 2013-02-01 20:26:58
回答 1查看 4.4K关注 0票数 10

如何检测运行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图像。

EN

回答 1

Stack Overflow用户

发布于 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实现)

代码语言:javascript
复制
<meta name="viewport" content="width=device-width" /> 

CSS @viewport (当前/未来的W3C草案实现):

代码语言:javascript
复制
@-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覆盖:

代码语言:javascript
复制
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的移动浏览器的有效逼近。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14654425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档