Öffnungszeiten: Fixrunde Website-Skript und Editor (JSON-LD, Kopf beim Scrollen, späte Platzhalter, Links, Bestätigung)
- JSON-LD wird ohne "<" geschrieben (<), ein </script> im Firmennamen bricht keinen Block mehr - verschiebe(): ist die Hinweis-Leiste weggescrollt, bekommen feste Elemente ihren eigenen Inline-top zurück (Köpfe, die per Klasse beim Scrollen wegfahren, funktionieren wieder) - Späte Platzhalter (Einzelseiten-Apps): entprellter MutationObserver auf body zeichnet neue oder wieder eingehängte Platzhalter nach - sichererLink lehnt Zugangsdaten in der Adresse ab; die Adresse der Schnittstelle bestimmt nur das eigene Script-Tag, kein Platzhalter mehr (der siteKey am Platzhalter bleibt laut Spec 4.2) - Editor: die Bestätigung klebt unter der Kopfleiste und bleibt nach dem Speichern eines unteren Abschnitts sichtbar Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
ecf67d6978
commit
aa9ee35ab6
6 files changed
+221
-12
No files matched your search
@@ -357,6 +357,30 @@ async function pruefungen() {
|
||||
eq(puts, [3, 4], 'zweites PUT mit der neuen Version')
|
||||
})
|
||||
|
||||
// ---------------------------------------------------------------- Bestätigung bleibt sichtbar
|
||||
// Die Meldung ist das erste Kind des Editors; nach dem Speichern eines unteren Abschnitts (Kontakt) springt der Fokus auf den Knopf. Ohne
|
||||
// klebende Meldung stünde „gespeichert“ dann ausserhalb des Fensters.
|
||||
await check('fx_meldung_bleibt_sichtbar', async (page) => {
|
||||
await oeffneEditor(page)
|
||||
const form = page.locator('form[aria-label="Kontakt-Leiste"]')
|
||||
await form.scrollIntoViewIfNeeded()
|
||||
await form.locator('input[type="tel"]').first().fill('06301 999888')
|
||||
await knopf(form, 'Kontakt-Leiste speichern').click()
|
||||
await meldung(page).filter({ hasText: 'Kontakt-Leiste gespeichert' }).waitFor()
|
||||
await page.waitForTimeout(150)
|
||||
const lage = await meldung(page).evaluate((e) => {
|
||||
const r = e.getBoundingClientRect()
|
||||
return { oben: r.top, unten: r.bottom, hoehe: r.height, fenster: window.innerHeight, pos: getComputedStyle(e).position, scroll: window.scrollY }
|
||||
})
|
||||
assert(lage.scroll > 300, `die Prüfung braucht eine gescrollte Seite (scrollY ${lage.scroll})`)
|
||||
assert(lage.hoehe > 0 && lage.oben >= -0.5 && lage.unten <= lage.fenster + 0.5, `Meldung liegt ausserhalb des Fensters: ${JSON.stringify(lage)}`)
|
||||
eq(lage.pos, 'sticky', 'Meldung klebt unter der Kopfleiste')
|
||||
// leer klebt sie nicht (kein leerer Streifen)
|
||||
await meldung(page).evaluate((e) => { e.textContent = '' })
|
||||
eq(await meldung(page).evaluate((e) => getComputedStyle(e).position), 'static', 'leere Meldung')
|
||||
await shot(page, 'meldung-sichtbar')
|
||||
}, { context: { viewport: { width: 1280, height: 600 } } })
|
||||
|
||||
// ---------------------------------------------------------------- Urlaub ⇒ Hinweis-Vorschlag, „Hinweis-Leiste anlegen“
|
||||
await check('fx_hinweis_vorschlag', async (page, _ctx, fx) => {
|
||||
await oeffneEditor(page)
|
||||
|
||||
Reference in new issue
Block a user