Это странно. Я использую JavaScript для определения разрешения на веб-странице. Для этого у меня есть следующая функция (несколько упрощенная для этой цели):
function check() {
var win = document.defaultView || document.parentWindow,
ratio = win.devicePixelRatio ? win.devicePixelRatio : 1,
h = win.innerHeight,
w = win.innerWidth,
root = document.documentElement;
if (!h) {
h = root.clientHeight;
w = root.clientWidth;
}
alert("height/width/ratio; " + h + "/" + w + "/" + ratio);
}
на устройствах Android, похоже, действительно своеобразное поведение:
Я приведу Nexus S в качестве примера, но, очевидно, я проверял это на многих других устройствах Android с разными версиями.
Если вы попали на страницу, содержащую скрипт выше, нажав на ссылку в приложении электронной почты (gmail или outlook), предупреждение выдаст 1130/800 / 1.5 (высота и ширина слишком велики). Это соответствует. Теперь, если вы зайдете в адресную строку и отредактируете URL (добавите / удалите параметр или значение параметра) и нажмете «Go», точно такой же код даст 452/320 / 1,5 (это больше похоже на это, и это также соответствует ).
Как и почему это происходит?
РЕДАКТИРОВАТЬ: стоит отметить, что до сих пор это, кажется, относится только к устройствам с devicePatielRatio> 1, то есть не более старые телефоны Android на v 1.5 / 1.6