Kundenansicht neu: Leiste am iPhone wieder ganz unten (iOS-Höhenfehler)
In der App vom Home-Bildschirm bleibt auf iOS nach dem Schließen der Tastatur die Fensterhöhe oft rund 60 px kleiner (WebKit-Fehler). Leiste und Chat-Eingabe stehen dann zu hoch, darunter ein leerer Streifen, bis die App neu startet. hoehe.js merkt sich die volle Höhe je Breite und blendet die Hülle nach dem Verlassen eines Feldes, nach einem resize oder wenn die App wieder vorne ist kurz aus und ein, wenn die Höhe hängt. Das zwingt WebKit zum Neu-Messen. Scrollstände und Fokus bleiben, höchstens zwei Versuche je Anlass, nur in der iOS-App vom Home-Bildschirm am Handy. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
99d9b280f5
commit
0fa8fdbbac
4 files changed
+207
-2
No files matched your search
@@ -82,6 +82,9 @@ export function tastaturZustand(alt, ereignis) {
|
||||
return { voll, breite: gedreht ? ereignis.breite : alt.breite, offen, tippt }
|
||||
}
|
||||
|
||||
/** Steht der Fokus in einem Textfeld (das die Bildschirmtastatur öffnet)? */
|
||||
export const istTextfeld = (el) => Boolean(el?.matches?.(TEXT_FELD))
|
||||
|
||||
/** Leiste und Streifen sind nur bei Texteingabe weg. */
|
||||
export const leisteSichtbar = (zustand) => !zustand.tippt
|
||||
|
||||
@@ -89,7 +92,6 @@ export const leisteSichtbar = (zustand) => !zustand.tippt
|
||||
export function beobachteTastatur({ win = window, doc = document, onChange }) {
|
||||
const vv = win.visualViewport
|
||||
const grob = () => Boolean(win.matchMedia?.('(pointer: coarse)').matches)
|
||||
const istTextfeld = (el) => Boolean(el?.matches?.(TEXT_FELD))
|
||||
let z = { voll: vv?.height ?? win.innerHeight, breite: vv?.width ?? win.innerWidth, offen: false, tippt: false }
|
||||
const wende = (ereignis) => {
|
||||
const alt = z
|
||||
|
||||
Reference in new issue
Block a user