Implementierung mit SvelteKit
Integrieren Sie Kameleoon Web Experimentation mit Anti-Flicker-Schutz und fuehren Sie dasengine.js-Skript nach der SvelteKit-Hydratation aus. Diese Einrichtung sorgt fuer optimale Leistung, visuelle Stabilitaet und Kompatibilitaet mit dem Rendering-Lebenszyklus von SvelteKit.
Zugriff auf die produktionsbereite SvelteKit-Integration
Das produktionsbereite Repository finden Sie hier: https://github.com/Kameleoon/setup-engine-sveltekit Bevor Sie beginnen, ersetzen Sie den Sitecode-Wert insrc/lib/integrations/Kameleoon/sitecode.ts.
Skript-Domain
Die Domain Ihres Kameleoon-Skripts kann sich zwischen Projekten unterscheiden. Je nach Erstellungszeitpunkt Ihres Projekts koennen Ihre Skripte aufkameleoon.eu oder kameleoon.io liegen. Verwenden Sie immer die fuer Ihr Projekt in der Kameleoon App angezeigte Domain.
Ueberblick
- Laden Sie die Kameleoon-Engine vorab: Stellen Sie sicher, dass der Browser die Engine frueh herunterlaedt und im Cache speichert.
- Wenden Sie Anti-Flicker-CSS an: Blenden Sie Inhalte aus, bis die Engine bereit ist, um Layout-Verschiebungen zu verhindern.
- Fuehren Sie die Engine nach der Hydratation aus: Fuehren Sie das Skript nach der SvelteKit-Hydratation aus, um Inkonsistenzen zu vermeiden.
Komponenten
Die Integration verwendet zwei Komponenten, um reibungsloses Laden zu gewaehrleisten und Flackern waehrend der Hydratation zu verhindern.1. Server-Komponente
Die Komponente:- Fuegt Anti-Flicker-CSS waehrend des SSR ein, um UI-Flashes zu verhindern.
- Laedt die Datei
engine.jsvorab, damit das Herunterladen so schnell wie moeglich beginnt.
KameleoonHead.svelte auf GitHub.
2. Client-Komponente
Die Komponente:- Entfernt die Anti-Flicker-Stile nach der Hydratation.
- Laedt das Kameleoon-
engine.js-Skript dynamisch. - Stellt sicher, dass das Skript ohne Rendering-Blockierung geladen wird.
KameleoonHydrationReady.svelte auf GitHub.
Der standardmaessige Anti-Flicker-Timeout betraegt
750 ms. Passen Sie kameleoonLoadingTimeout bei Bedarf an.Verwendung in RootLayout
Kombinieren Sie beide Komponenten in Ihrem Layout:layout.svelte auf GitHub.
Wichtige Erkenntnisse
- Schutz vor Flackern beim SSR.
- Hydratationsbewusste Skriptausfuehrung verwenden.
- Die Engine asynchron laden.
- Einen Fallback-Timeout fuer Zuverlaessigkeit verwenden.
- Blockierende Skripte vermeiden.
- SvelteKit-Layouts, SSR und clientseitiges Routing unterstuetzen.