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