Это сработало для меня.Первое, что я делаю, это извлекаю window.innerHeight и window.innerWidth из dom при загрузке страницы, чтобы я получил исходные значения и сохранил их в переменных javascript.Затем в моем обработчике события window.onresize я делаю это.
var height = null;
var width = null;
if (window.orientation && window.orientation == -90) {
height = myOriginalHeight;
width = myOriginalWidth;
}
else {
height = myOriginalWidth;
width = myOriginalHeight;
}
doCallbacks(width, height);
Мое приложение сильно изменяет размеры, потому что я пытаюсь написать один пользовательский интерфейс для всех типов экранов.Согласно моему тестированию с приложением, это работает на ipad и andriod, и все изменения размера работают при увеличении или изменении ориентации, что иногда может привести к увеличению.
Интересный аспект этого - мобильные браузеры никогда не меняют экранразмеры, как они фиксированы, они просто масштабируются.Но если вы измените размеры до первоначальной ширины / высоты и измените ориентацию таким образом, это сработает.