window.innerHeight возвращает неправильное значение в iOS 11 - PullRequest
0 голосов
/ 05 июня 2018

У меня есть iOS-приложение Cordova, работающее на последней версии и Cordova (8), и Cordova-IOS (4.5.4) на сегодняшний день.Недавно я начал изучать возможность обновления приложения для использования WKWebView вместо значения по умолчанию UIWebView, но я обнаружил, что в iOS 11 (тестирование на iPad mini) веб-просмотр иногда сообщает о неверном innerHeight.

Это соответствующий код в index.html:

<meta name="viewport" content="initial-scale=1, width=device-width, height=device-height, viewport-fit=cover">

<style type="text/css">
    html, body {
        height: 100%;
    }
</style>

Вот как я пытаюсь прочитать свойство (все после обработчика deviceready):

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
    var calcHeight = window.screen.height - window.innerHeight;
}

window.screen.height всегда оценивается в 1024, что нормально, но window.innerHeight иногда возвращает 1004 (что является ожидаемым значением), но в некоторых других случаях оно возвращает 460.

Есть идеи, что может произойти?

Заранее спасибо

1 Ответ

0 голосов
/ 05 июня 2018

Вы добавили тег окна просмотра в соответствии со спецификациями Apple?

http://developer.apple.com/library/safari/#documentation/appleapplications/reference/safariwebcontent/UsingtheViewport/UsingtheViewport.html

...