Detectar si actualmente se desplaza una página web en Android

Estoy intentando detectar cuando un usuario ha terminado de desplazar una página web usando javascript en Android. El guión que tengo está trabajando en el iPhone y me parece correcto que funcione en Android. De todos modos, un fragmento:

previous = pageYOffset; interval = setInterval(function() { //Has scrolling stopped? if(previous == pageYOffset) { clearInterval(interval); //DO SOMETHING AFTER SCROLL COMPLETE } else { previous = pageYOffset; } }, 200); 

La idea básica, encuesta el pageYOffset cada 200ms, si no había habido ningún cambio, entonces no hay desplazamiento sucediendo. De lo contrario, sigue buscando.

Como he dicho, esto funciona en el iPhone, por lo que estoy asumiendo que es algo que ver con Android posiblemente no actualizar pageYOffset durante un desplazamiento?

¡Cualquier ayuda es muy apreciada!

Nota: Fui para esta ruta ya que no pude encontrar una propiedad isScrolling o evento scrollStop. Si he pasado por alto uno, por favor dígame 🙂

Gracias


Actualización: Acabo de intentar utilizar el evento "scroll" para detectar esto. Resultados mixtos aquí. En el emulador de Android estaba funcionando casi correctamente, pero era muy intermitente en un teléfono real (2.1 Sense Hero GSM), es decir, sólo 1 en 10 rollos fueron detectados.

Incluso cuando estaba 'trabajando' en el emulador no estaba disparando el evento de desplazamiento cuando se desplaza hacia arriba cuando está en la parte superior de la página (es decir, para subir la barra de direcciones). Este es un problema ya que la página ha sido desplazada (posición cambiada) pero no estoy recibiendo el evento.

Tenga en cuenta, el iPhone parece disparar y detectar el evento correctamente (al menos en el emulador, no hay acceso al dispositivo en este momento).

¿Ideas chicos?


Actualización 2: El nuevo evento 'scroll' parece funcionar (en la misma medida que el emulador (1.6 y 2.1)) en algunos dispositivos Android. Seguiremos investigando para intentar reducir esto.

Aún así, el tema de "desplazamiento" no se activa cuando se desplaza hasta la barra de direcciones. Podría tener que tener algún tipo de solución híbrida de "desplazamiento" de detección de eventos y movimiento de sondeo después de un toque.

3 Solutions collect form web for “Detectar si actualmente se desplaza una página web en Android”

El héroe se interpone propiamente en eventos ocasionales y no los reporta correctamente a javascript. Descubrimos una serie de éstas en nuestro desarrollo de Android. A veces parece importar la forma en que usted está sosteniendo el teléfono (no es broma!)

¿ Utilizar el evento window.onscroll para detectar desplazamiento de página / marco ayuda a responder a su pregunta? Ese póster usó el evento window.onscroll para detectar el desplazamiento, así que tal vez usted puede puede guardar la posición actual y disparar una llamada setTimeout en el controlador de eventos. Si cuando la llamada vuelve a suceder, usted está en la misma posición, entonces el desplazamiento habría parado.

Tal vez usted podría usar onScrollListener?

Cómo detectar Android ListView Scrolling se detuvo?

Este chico está tratando de detectar una parada, pero estoy seguro de que funciona para desplazarse también.

  • Android 2.2 y 2.3 descarga de PDF a través de HTTPS parece roto
  • ¿Cuánto apoyo hay para -webkit-overflow-scrolling: touch
  • WebView hace que SQLiteDiskIOException
  • Cada navegador basado en WebKit bloquea sitios usando Omniture. ¿Por qué?
  • ¿Cómo actualizar manualmente el navegador android con el último webkit (nocturno)?
  • ¿Alternativas a window.scrollMaxY?
  • 3d css transform (translateZ) no funciona en android 4.0.3?
  • ¿La aplicación se bloquea al reproducir video de tubo en la vista web?
  • No se puede descargar .apk vía webbrowser desde el sitio drupal
  • ¿Hay alguna forma de eliminar el retraso de clics en los dispositivos móviles de contacto?
  • Implementación horizontal / vertical dedo deslizar desplazamiento en android panal webview / webkit?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.