Implementación con SvelteKit
Integre Kameleoon Web Experimentation con protección anti-flicker y ejecute el scriptengine.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 ensrc/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 enkameleoon.eu o en kameleoon.io. Utilice siempre el dominio que se muestra para su proyecto en la aplicación Kameleoon.
Visión general
- Precargue el motor de Kameleoon: Asegúrese de que el navegador descargue y almacene en caché el motor cuanto antes.
- Aplique CSS anti-flicker: Oculte el contenido hasta que el motor esté listo para evitar saltos de diseño.
- 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.jspara que la descarga comience lo antes posible.
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.jsde Kameleoon. - Garantiza que el script se cargue sin bloquear el renderizado.
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: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.