Leaflet: L.Browser.touch se configura incorrectamente cuando está en el escritorio (Chrome)

Creado en 18 ene. 2017  ·  3Comentarios  ·  Fuente: Leaflet/Leaflet

Parece que las actualizaciones recientes de Chrome (al menos en Mac) han cambiado su implementación de window.PointerEvent . Esto hace que la versión actual de Leaflet (1.0.2) diagnostique erróneamente el navegador como un dispositivo táctil y agregue la clase leaflet-touch .

Esta línea parece ser la culpable:

pointer = window.PointerEvent || msPointer

... se puede encontrar aquí: https://github.com/Leaflet/Leaflet/blob/v1.0.2/src/core/Browser.js#L33

El problema es que window.PointerEvent es una función que siempre devolverá 'verdad'.

como reproducir

  • Navegador: Mac OSX El Capitan (10.11.6), Chrome Versión 55.0.2883.95 (64 bits)
  • Vaya a www.leafletjs.com y mire el ejemplo de demostración... los botones Acercar/Alejar están ampliados, debido a que la clase leaflet-touch se aplica al contenedor del mapa del folleto.

Comentario más útil

Entonces, ¿cuál es el punto de detectar el tacto si no va a detectar el tacto con precisión? Entonces, ¿no debería eliminarse toda esa lógica del folleto?

Todos 3 comentarios

Puedo reproducir esto también...

Duplicado de https://github.com/Leaflet/Leaflet/issues/3944. No hay forma de saber si el navegador se está ejecutando en una computadora con pantalla táctil o no, solo es posible saber si el navegador admite eventos de toque/puntero o no. Consulte también http://www.stucox.com/blog/you-cant-detect-a-touchscreen/

Entonces, ¿cuál es el punto de detectar el tacto si no va a detectar el tacto con precisión? Entonces, ¿no debería eliminarse toda esa lógica del folleto?

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

gdbd picture gdbd  ·  3Comentarios

brambow picture brambow  ·  3Comentarios

broofa picture broofa  ·  4Comentarios

CallMarl picture CallMarl  ·  3Comentarios

arminghm picture arminghm  ·  3Comentarios