Ответ 1
Исправление
Отключение пары источники, похоже, исправление, которое вы положили, на самом деле в настоящее время приводит к тому, что некоторые устройства отображают ненадлежащим образом (и были признаны как ошибка, поэтому этого не должно быть позже версии...)
Реализация следующего должна устранить связанные с вами запросы:
/*CSS*/
@-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*/
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);
}
Почему это делается?
Основная причина, по которой это исправление необходимо, - это то, что Windows Phone 8 обладает прекрасной возможностью интерпретировать ширину устройства, а не оптимальную ширину видового экрана производителя, но фактический размер разрешения (я считаю, что это единственная мобильная платформа для этого...). Это означает, что единственное устройство, на самом деле прекрасно отображающее все, - это Nokia Lumia 920 (их флагманский продукт). Все остальные будут иметь побочные эффекты.
Первоначально решение, которое у вас есть, является рекомендуемым способом обойти это Microsoft, но, как вы видели, это немного не по себе. Это связано с тем, что он заставляет Browser определять ширину экрана, а не фактический производитель, который, в свою очередь, может иметь глюки (как вы видели).