Пишу игрушки на HTML5 фиксированного размера под десктоп и мобильные платформы. То, что в файрфоксе в CSS свойство zoom не определено - меня сейчас не сильно беспокоит. Меня беспокоит, почему в десктопном хроме размеры экрана определяются корректно, а вот в мобильном нет... $(window).height() даёт вообще чёрти что, window.screen.availHeight - уже по-лучше, но всё равно не спасает положение. Посмотрите, пожалуйста, мой скрипт, и подскажите, что я делаю не так.
$(document).ready(function() {
function applyScale() {
var scaleFactor = 1, scaleFactorX = 1, scaleFactorY = 1;
var width, height;
// why adnroid is so strange?
if (isAndroid()) {
var width = window.screen && window.screen.availHeight || $(window).width();
var height = window.height && window.screen.availWidth || $(window).height();
} else {
var width = $(window).width();
var height = $(window).height();
}
if (width < 1450) {
scaleFactorX = width / 1450;
}
if (height < 1024) {
scaleFactorY = height / 1024;
}
scaleFactor = scaleFactorX < scaleFactorY ? scaleFactorX : scaleFactorY;
if (scaleFactor < 0.1) {
scaleFactor = 0.1;
}
$('body').css('zoom', scaleFactor);
}
$(window).resize(function() {
applyScale();
});
applyScale();
});