iOSのGoogle Appで同じ問題が発生しました。上下に絶対配置された要素を持つ高さ100%のウェブサイト。
原因
GoogleのAppのビューポートの高さが正しく検出されていますが、GoogleのAppは、ウェブサイト経由WELとして他のいくつかのバーのウェブサイト上と一番下に先頭に、デフォルトでは、彼のアドレスバーをのを置きます。だからGoogle Appに属するこれらの要素は、あなたのウェブサイト上の絶対的な配置要素のようなものです。
しかし、ウェブサイトを開くと、Google Appはウェブサイトを少しスクロールして、ウェブサイトの上部がアドレスバーの下にくるようにします(そうしないと、ウェブサイトの上部が非表示になります)。 100%高さのウェブサイトでは、ビューポートが100%+ 30pxのように見える30pxのようなウェブサイト全体を表示します。上部のアドレスバーと下部の他のバーが消えると、ウェブサイトは完全に表示されます。
回避策
viewpoのはinnerHeightにアプリの高さを再調整し、本体にディレクティブを追加します。 rt。私の場合に働いた。
<body force-full-height>
<!-- Your content -->
</body>
...
(function() {
var app = angular.module('my.directives', []);
app.directive('forceFullHeight', forceFullHeight);
forceFullHeight.$inject = [
'$window',
'$rootScope'
];
function forceFullHeight($window, $rootScope) {
return {
restrict: 'A',
link: function link(scope, element, attrs) {
function onResize() {
element.css('height', $window.innerHeight + 'px');
};
function cleanUp() {
angular.element($window).off('resize', onResize);
}
angular.element($window).on('resize', onResize);
scope.$on('$destroy', cleanUp);
scope.$on('$viewContentLoaded', onResize());
}
};
}
})();