(function() ( 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); ) ))();
Краткая предыстория
Чтобы IE 10 (рабочий стол) работал в новом «режиме привязки», вам необходимо использовать следующее:
@-ms-viewport ( width: device-width; )
Но это портит некоторые телефоны с Windows Phone 8, переопределяя метатег видового экрана и отображая слишком большие на маленьких экранах. Итак, на данный момент ответ - этот ужасный сценарий обнаружения / внедрения устройств.
Более длинная предыстория
- Мэтт Стоу: Адаптивный дизайн в IE10 на Windows Phone 8
- Тим Кадлец: Windows Phone 8 и ширина устройства