2013-09-22 8 views
12

iOS7のフルスクリーン(ホームスクリーンに保存された)iPhoneウェブアプリに問題があります。iOS 7フルスクリーンウェブアプリでウェブキットオーバーフロースクロールフォームが壊れています

通常、入力が選択されると、キーボードの上に表示されるようにスクロールされます。

しかし、iOS7ではフルスクリーンのWebアプリケーションでDIVをスクロールすることはできません。

したがって、DIVが「-webkit-overflow-scrolling:touch」を使用し、画面の下半分の入力がクリックされると、キーボードは起動されますが、入力は上にスクロールしません。

そして、その時点で入力はそれ以外の場合はそれをスクロールできるonFocusイベントに応答しません。

誰かが回避策を見ましたか?

答えて

17

ビューポートメタタグを更新すると、私のために修正されました。

私はこの変更:これに

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" /> 

<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, target-densityDpi=device-dpi" /> 

height=device-heightは、実際の修正(それなしでビューポートはキーボードに対応するためにリサイズされます)です。

+1

恐ろしい! 高さをデバイス高さに設定することは、私たちのアプリ上でいくつかのことを壊しています(キーボードが表示されているときにiOS7がデバイスの高さを縮小するため、デバイス高さが使用されているときにキーボードの上を移動する固定フッタバーがあります)。 BUT。 。 。 10000ピクセルのような非常に大きなものに明示的に設定すると、多くの余分な空白を除いて、ほとんどの場合動作します。 (ただし余分な空白は間違いありません) –

+2

target-densityDpi = device-dpiは推奨されておらず、簡単に削除できます。 https://petelepage.com/blog/2013/02/viewport-target-densitydpi-support-is-being-deprecated/ –

+0

これは私にとってはうまくいくが、それからこの問題が発生する:http://stackoverflow.com/questions/11804428/jquery-mobile-height-issue-for-iphone-web-app-assumes-page-height-of-480-instea –

0

ウェブアプリケーションで高さの設定を削除しても機能しました。

関連する問題