He creado un sitio web con una escena callejera de paralaje. Vea here para una versión archivada.Evento de desplazamiento en el navegador Android que no se activa. Necesito solución
Funciona perfectamente en todos los principales navegadores de escritorio y Safari Mobile. Funciona bien en Mobile Firefox y Chrome para Android Beta también. Sin embargo, el navegador predeterminado de Android tiene problemas con el evento de desplazamiento. Déjame ser claro. El desplazamiento no es el problema. El div se desplaza según sea necesario. El evento de desplazamiento no se activa. Este problema lo experimento tanto en Honeycomb como en ICS.
No me preocupan otros navegadores para dispositivos móviles porque para los tamaños de pantallas de dispositivos móviles, por lo general, no se ve la escena de paralaje; Las mediaqueries y la carga de JavaScript condicional se encargan de eso. Diseño receptivo y todo ese jazz.
Básicamente, he escrito un plugin de jQuery parallise() que posiciona cada imagen en función de su posición y 'profundidad'. Esta función está vinculada al evento de desplazamiento.
En el navegador Android, este evento solo se dispara al comienzo del próximo contacto, en lugar de continuamente.
OK, así que pensé que quizás si enlazaba la función a los eventos touchstart
, touchmove
y touchend
resolvería mi problema. Sin cigarro. Other touch events are also bugged. La aplicación de la solución sugerida hace que los eventos se activen, pero como tengo que hacerlo al e.preventDefault()
, el desplazamiento (el punto entero del ejercicio) está deshabilitado.
¿Qué pasa si solo sondeo la posición de la etapa div en relación con la ventana div? Resulta que la información de posición solo se actualiza al al comienzo del próximo contacto.
Estoy al final de mi vida. Cualquier ayuda sería muy apreciada.
Ok, tengo que usar el dominio de prueba para un sitio diferente. Si alguien quiere ayudar con este problema, por favor deje un comentario y lo voy a poner de nuevo. El sitio también está en vivo en [smartdevice.co.za] (http://smartdevice.co.za) pero la ventana gráfica no está configurada en '960px'. Le hemos dicho al cliente que este es un problema del navegador sobre el que no tenemos control, y el impacto del problema está limitado a las tabletas Android que solo ejecutan el navegador predeterminado. Sin embargo, para la posteridad, si conoce una solución, por favor deje un comentario. –
¿Alguna vez resolvió este problema? – IamDeveloper
Desafortunadamente no. :(El problema está en el navegador. Cierto código que es utilizado por casi todos los eventos táctiles no se comporta como se esperaba, por lo que me es imposible crear una solución temporal, ya que todos dependería de un evento táctil en algún momento. Por cierto, el sitio mencionado en un comentario anterior ya no contiene mi código, ya que despedimos al cliente. Una copia del sitio está disponible en http://xandor.co.za/smartdevice. –