查看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}
用于禁用 Windows Phone 8 中元视口的古怪 @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
应该是正确实现 screen.widthwindow.devicePixelRatio
的所有移动浏览器的有效近似值