Cómo hacer scroll de forma programática en Cordova / Capacitor / Ionic usando vanilla js
Busqué mucho y no encontré una respuesta aceptable, así que aquí está el problema y mi solución para otras personas que están luchando con esto.
El problema: ya no podemos utilizar window.scrollTo()
para desplazarnos de forma programática, ya que está desactivado por problemas de rendimiento.
davy.ai
Solución para desplazarse programáticamente en Cordova/Ionic con
window.scrollTo()
deshabilitadoSi te enfrentas al problema de tener el método
window.scrollTo()
deshabilitado en Cordova/Ionic debido a problemas de rendimiento, no te preocupes. Aquí tienes una solución para desplazarte programáticamente en tu aplicación móvil:cordova-plugin-wkwebview-engine
en tu proyecto utilizando la CLI de Cordova. Esto permitirá el uso dewkwebview
en iOS, que permite opciones de desplazamiento más avanzadas.scroll.js
. En este archivo, define una función para el desplazamiento suave utilizando la APIwebkit.messageHandlers
.Esta función utiliza
window.webkit.messageHandlers
para comunicarse con el lado nativo y comenzar y detener la animación de desplazamiento.Este puente establece la velocidad de la animación de desplazamiento y comienza/detiene el desplazamiento utilizando la API
webkit.messageHandlers
.window.custom.scrollToY
desde tu código de la siguiente manera:¡Y eso es todo! Con esta solución, puedes desplazarte programáticamente en tu aplicación Cordova/Ionic incluso si el método
window.scrollTo()
está deshabilitado.