Leaflet: L.Browser.touch wird auf dem Desktop falsch eingestellt (Chrome)

Erstellt am 18. Jan. 2017  ·  3Kommentare  ·  Quelle: Leaflet/Leaflet

Es scheint, dass die jüngsten Updates für Chrome (zumindest auf dem Mac) die Implementierung von window.PointerEvent geändert haben. Dies führt dazu, dass die aktuelle Version von Leaflet (1.0.2) den Browser fälschlicherweise als Touch-Gerät diagnostiziert und die Klasse leaflet-touch hinzufügt.

Diese Zeile scheint der Übeltäter zu sein:

pointer = window.PointerEvent || msPointer

...hier zu finden: https://github.com/Leaflet/Leaflet/blob/v1.0.2/src/core/Browser.js#L33

Das Problem ist, dass window.PointerEvent eine Funktion ist, die immer 'Wahrheit' zurückgibt.

Wie reproduzieren

  • Browser: Mac OSX El Capitan (10.11.6), Chrome-Version 55.0.2883.95 (64-Bit)
  • Gehen Sie zu www.leafletjs.com und sehen Sie sich das Demo-Beispiel an ... die Schaltflächen zum Vergrößern/Verkleinern sind vergrößert, da die Klasse leaflet-touch auf den Kartencontainer der Broschüre angewendet wird.

Hilfreichster Kommentar

Was bringt es also, Berührungen zu erkennen, wenn sie nicht genau erkannt werden? Sollte diese ganze Logik dann nicht aus dem Flugblatt entfernt werden?

Alle 3 Kommentare

das kann ich auch reproduzieren...

Duplikat von https://github.com/Leaflet/Leaflet/issues/3944. Es gibt keine Möglichkeit zu wissen, ob der Browser auf einem Computer mit Touchscreen läuft oder nicht, es ist nur möglich zu wissen, ob der Browser Berührungs-/Zeigerereignisse unterstützt oder nicht. Siehe auch http://www.stucox.com/blog/you-cant-detect-a-touchscreen/

Was bringt es also, Berührungen zu erkennen, wenn sie nicht genau erkannt werden? Sollte diese ganze Logik dann nicht aus dem Flugblatt entfernt werden?

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

hyperknot picture hyperknot  ·  30Kommentare

MuellerMatthew picture MuellerMatthew  ·  70Kommentare

stevevance picture stevevance  ·  23Kommentare

crofty picture crofty  ·  24Kommentare

tmcw picture tmcw  ·  22Kommentare