Ответ 1
Отъезд http://timkadlec.com/2013/01/windows-phone-8-and-device-width/
Теоретически (у меня нет телефона, чтобы проверить это), если вы добавите на свою страницу все перечисленные ниже данные, вам должна быть предоставлена возможность получить действительный DPR для устройств Windows Phone 8 и Windows 8.
HTML meta viewport (текущие/устаревшие реализации без 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 Phone 8:
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