キーボードがポップアップすると、モバイルサファリはwindow.innerHeightを更新しません。キーボードのビューポートをリサイズしないiphone safari
Apple documentation used to say before they edited itがwindow.innerHeightが戻ってiOSの10と
になると述べている(9.3.5で、少なくとも、とiOS 8.2で破ったコメントことわざと thisのようないくつかの答えは、あります)iOS 10では、WKWebViewオブジェクトは、キーボードが表示されているときにwindow.innerHeightプロパティを更新してSafariのネイティブ動作に一致し、resizeイベントを呼び出さない。
iphone safariを扱うには、サイズ変更する代わりに、ウェブサイトをビューから押し出すだけで何をすべきか知る必要があります。
私は絶対配置をすべて使用し、ヘッダーとフッターの間にオーバーフローのあるdivを持っています。
.mainContent {
position: absolute;
top: 50px;
bottom: 28px;
left: 0;
right: 0;
}
ここでは、 Android上で期待どおりに動作し
スクリーンショット、:iphoneで期待どおり
が機能していない:
this answerに基づいて私はネイティブJSの方法を持っていますiphoneキーボードが開いているかどうかを判断する、
document.getElementById('chat-input').addEventListener('focus', function(){
if(/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream){
console.log("IOS focus");
var scroll = window.scrollTop;
window.scrollTop = 10;
var keyboard_shown = window.scrollTop > 0;
window.scrollTop = scroll;
if(keyboard_shown){
console.log("keyboard");
}else{
console.log("no keyboard");
}
}
});
})();
window.innerHeight
は変更されないため、実際には問題は解決しないため、キーボードの大きさはわかりません。私はちょうどwindow.innerHeightプロパティを更新しないiOSの10のSafariとWKWebView iphone解像度のリストを作成し、そのキーボードの高さ、そしてちょうどひどいハードコーディングする人で...
によって指摘とは逆の挙動を述べるようですか?私はiPhoneを所有していませんが、ここで実際に問題が何かを知りたいと思っています。 – Senthe
@Sentheあまりにも時間がかかって申し訳ありませんが、私はどちらも所有していないし、仕事に入る必要がありました。しかし、画像は今問題になっています。 – mtfurlan
私は今理解しています。私はそれがここでこの行動で何かをすることは可能だとは思わない。同じことが 'fixed'プロパティでも起こります。あなたのハードコーディングの「解決策」はおそらく、iOS上で非ネイティブのキーボードアプリをインストールすることが可能であると想定しているので、どちらも機能しません。もし私があなただったら、少なくともメッセージを入力する底部が適切な場所にとどまることを嬉しく思います。 :( – Senthe