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. El timeout predeterminado para SvelteKit es de 500 ms.

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 predeterminado es de 500 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.