Skip to main content

Implementación con SvelteKit

Integre Kameleoon Web Experimentation con protección anti-flicker y ejecute el script engine.js después de la hidratación de SvelteKit. Esta configuración garantiza un rendimiento óptimo, estabilidad visual y compatibilidad con el ciclo de vida de renderizado de SvelteKit.

Acceda a la integración SvelteKit lista para producción

Acceda al repositorio listo para producción aquí: https://github.com/Kameleoon/setup-engine-sveltekit Antes de empezar, sustituya el valor del sitecode en src/lib/integrations/Kameleoon/sitecode.ts.

Dominio del script

El dominio de su script de Kameleoon puede diferir entre proyectos. En función de cuándo haya creado su proyecto, sus scripts pueden residir en kameleoon.eu o en kameleoon.io. Utilice siempre el dominio que se muestra para su proyecto en la aplicación Kameleoon.

Visión general

  1. Precargue el motor de Kameleoon: Asegúrese de que el navegador descargue y almacene en caché el motor cuanto antes.
  2. Aplique CSS anti-flicker: Oculte el contenido hasta que el motor esté listo para evitar saltos de diseño.
  3. Ejecute el motor después de la hidratación: Ejecute el script tras la hidratación de SvelteKit para evitar discrepancias.

Componentes

La integración utiliza dos componentes para garantizar una carga fluida y evitar el flickering durante la hidratación.

1. Componente del servidor

El componente:
  • Inyecta CSS anti-flicker durante el SSR para evitar parpadeos en la UI.
  • Precarga el archivo engine.js para que la descarga comience lo antes posible.
Consulte KameleoonHead.svelte en GitHub.

2. Componente del cliente

El componente:
  • Elimina los estilos anti-flicker después de la hidratación.
  • Carga dinámicamente el script engine.js de Kameleoon.
  • Garantiza que el script se cargue sin bloquear el renderizado.
Consulte KameleoonHydrationReady.svelte en GitHub.
El timeout anti-flicker predeterminado es de 750 ms. Ajuste kameleoonLoadingTimeout si es necesario.

Uso en RootLayout

Combine ambos componentes en su layout:
Consulte layout.svelte en GitHub.

Conclusiones clave

  • Proteja contra el flickering en SSR.
  • Utilice una ejecución de script consciente de la hidratación.
  • Cargue el motor de forma asíncrona.
  • Utilice un timeout de respaldo para mayor fiabilidad.
  • Evite scripts bloqueantes.
  • Compatible con layouts de SvelteKit, SSR y enrutamiento del lado del cliente.
Con esta configuración, su aplicación SvelteKit cargará Kameleoon de manera eficiente y evitará problemas relacionados con la hidratación.