src/integrations/Kameleoon/sitecode.ts.
Die Domain Ihres Kameleoon-Skripts kann sich zwischen Projekten unterscheiden. Je nach Erstellungsdatum koennen Ihre Projekte unter
kameleoon.eu oder kameleoon.io gehostet werden. Verwenden Sie immer die fuer Ihr Projekt in der Kameleoon App angezeigte Domain.Ueberblick
- Laden Sie die Kameleoon-Engine vorab, damit der Browser sie frueh herunterlaedt und im Cache speichert.
- Wenden Sie Anti-Flicker-CSS an, um Inhalte auszublenden, bis die Engine bereit ist, und Layout-Verschiebungen zu verhindern.
- Fuehren Sie die Engine nach der Hydratation aus, um React-Hydratationswarnungen oder Inkonsistenzen zu vermeiden.
Komponenten
Diese Integration verwendet zwei Komponenten, die zusammenarbeiten, um reibungsloses Laden zu gewaehrleisten und Flackern waehrend der Hydratation zu verhindern.1. Server Component
Platzieren Sie diese Komponente innerhalb des <head> Ihres Hauptlayouts.
Ihre Aufgaben sind:
- Einfuegen von Anti-Flicker-CSS waehrend des SSR, um UI-Flashes zu verhindern
- Vorladen der Datei
engine.js, damit das Herunterladen so schnell wie moeglich beginnt
KameleoonHead.tsx
2. Client Component
Platzieren Sie diese Komponente ganz oben im <body>, um den Ausfuehrungszeitpunkt praezise zu steuern.
Diese Komponente:
- Entfernt die Anti-Flicker-Stile nach der Hydratation
- Laedt Kameleoons
engine.jsdynamisch - Stellt sicher, dass das Skript ohne Rendering-Blockierung geladen wird
KameleoonHydrationReady.tsx
Hinweis: Der standardmaessige Anti-Flicker-Timeout betraegt500 ms. Passen SiekameleoonLoadingTimeoutbei Bedarf an.
Verwendung in RootLayout
Beispiel fuer die Kombination beider Komponenten:
layout.tsx
Wichtige Erkenntnisse
- Anti-Flicker-Schutz beim SSR
- Hydratationsbewusste Skriptausfuehrung
- Asynchrones Laden der Engine
- Fallback-Timeout fuer Zuverlaessigkeit
- Keine blockierenden Skripte
- Funktioniert mit Next.js-Layouts, Streaming und React Server Components