最近、記事のコメント機能であるミニプログラムの Web ビューに埋め込まれた h5 ページを作成していましたが、その過程で多くの互換性の問題に遭遇し、異なるモデルでのパフォーマンスも非常に不安定だったので、以下の問題をまとめました。 : 後で確認できるように記録します。
1. 日付の問題yyyy-mm-dd hh:mm:ss の場合、この形式は iOS システムでは認識されません
時刻がフォーマットされている場合、ブラウザ側では適切に処理されますが、携帯電話では NAN または null になります。この場合、iOS システムはこのタイプの時刻を変換できません。
let date = new Date('2019-02-28 18:33:24'); // null`
解決策は、yyyy/mm/dd hh:mm:ss 形式に変換することです。
replace(//-/g, /)2. キーボードをしまうとページが固着して戻らなくなります。
ios12ではキーボードを引っ込めるとページが固まって下が空白になってしまい、少し動かすと元に戻ることが分かりました。
この種の問題については、インターネット上で多くの解決策を調べました。解決策は、大まかに言うと、blur イベント中にページをスクロールすることです。
window.scrollTo(0, スクロール);
しかし、非常に深刻な問題があります。ページ上に操作が必要なボタン、たとえばコメント入力ボックス + 公開ボタンがある場合、テキストを入力した後、公開をクリックし、クリック イベントがトリガーされると、ページが削除されます。最初にブラーイベントがトリガーされ、キーボードが後退して終了です。 。 。 。ボタンをクリックしても何も起こりません。
解決策: クリック イベントを ontouchstart に変更すると、この問題を解決できます。 ontouchstart イベントはクリック イベント トリガーよりも優れています
3. ios12 の WeChat アプレットの Web ビューでは、キーボードが引っ込められ、ページの下部が空白になります。この問題は、ページのスクロール設定が自動であることが原因であると考えられます。
4. iPhone の修正は失敗し、一部のマシンではテキストエリアのカーソルが移動します。解決策: すべての兄弟要素は絶対要素になり、親要素は overflow:auto; になります。
親要素: 高さ: 相対; 兄弟要素: 上: 0; オーバーフロー-y: 自動;パディングボトム: 10px;5. キーボードが入力ボックスをブロックする
fix を使用して入力ボックスが下部に固定されている場合、キーボードを上げると iPhone では固定が失敗し、ページがスクロールする原因になります。また、一部のモデルでは入力ボックスもスクロールします。時々キーボードによってブロックされることがありますが、非常に不親切です。
解決策: ページにスクロールがある場合は、固定レイアウトの使用を中止します。絶対を使用する必要がある場合は、カーソル オフセットに関する前の記事を参照してください。
フレックスレイアウトを使用することをお勧めします。互換性は解決されます。
もちろん、上記の問題が発生した場合は、製品の設計が非常に不合理であることを意味します。必要に応じて、これらの互換性のある解決策を使用して、入力を押し上げる必要のない設計に変更する必要があります。すべてのモデルの問題を完璧に解決できるわけではありません。
以上がこの記事の全内容です。皆様の学習のお役に立てれば幸いです。また、VeVb Wulin Network をご支援いただければ幸いです。