dklemmt / contao_dk_mmenu

Implementation of mmenu as extension for Contao Open Source CMS
15 stars 16 forks source link

scrolling on touch-devices not reliable #42

Closed rustykowski closed 4 years ago

rustykowski commented 4 years ago

Ich habe ein Menü mit teilweise hoher Anzahl an Unterpunkten. Dort muss dann auf mobilen Geräten gescrollt werden. Verwende ich die vertikale Version des Menüs, kann ich fast gar nicht vertikal scrollen – das Menü “friert ein". Bei der horizontalen Version ist dies nicht seltener zu beobachten, kommt aber auch vor. Es scheint damit zusammenzuhängen, wo genau man mit dem Finger anfängt zu schieben.

Hier ein Beispiel: https://www.zkp-online.de/seminare (Untermenü "Die Seminare").

Die Konsole meldet Uncaught DOMException: Failed to execute 'querySelector' on 'Document': '#' is not a valid selector. Und im Code findet sich auch die Ursache: <script> document.addEventListener( "DOMContentLoaded", () => { new Mmenu('#', null, null); }, ); </script> Dennoch ist die generelle Funktionalität vorhanden.

Was könnte ich falsch gemacht haben? Ich verwende die Version 3.1.0 mit Contao 4.4.45

fritzmg commented 4 years ago

Zum ersten Fehler: da kann die Extension vermutlich nichts machen.

Zum zweiten Fehler: vermutlich wurde das Template irrtümlich im Seitenlayout ausgewählt.

rustykowski commented 4 years ago

Danke Fritz, es stimmt: Ich hatte das js Template im Layout aktiviert. Aber das andere stimmt leider auch: Das Scrolling funktioniert weiterhin bei horizontal nicht perfekt und bei vertikal eigentlich gar nicht. mmenujs.com verhält sich ähnlich.

fritzmg commented 4 years ago

Dann musst du dort ein Ticket öffnen :)

rustykowski commented 4 years ago

Das Einfrieren beim vertikalen Scrollen unter iOS ist in mmenu-js Version 8.4.0 behoben, siehe https://github.com/FrDH/mmenu-js/issues/1060 Könntest du bei Gelegenheit eine neue Version mit dem aktuellen Script veröffentlichen?

fritzmg commented 4 years ago

Ich habe Version 8.4.4 in 0b6761d hinzugefügt. 8.4.5 oder höher hat das polyfill aus irgendeinem Grund nicht mehr. Bitte mit dev-master testen.

rustykowski commented 4 years ago

Mit der dev-master erhalte ich ein Menü mit Grundfunktionalität, aber ohne hierarchische Struktur. Alle Menüpunkte werden – unabhängig vom Menü-Level – untereinander angezeigt. Wobei das HTML-Markup korrekt ist. Es fehlt aber CSS/JS für die Funktionalität des Auf- und Zufaltens bzw. Slidens. Ein JS-Fehler wird nicht gemeldet.

rustykowski commented 4 years ago

In der Modulkonfiguration von dev-master lässt sich nicht das Javascript-Template js_mmenu auswählen. Stattdessen wird nur mmenu_default angeboten. Ist das so beabsichtigt?

fritzmg commented 4 years ago

In der Modulkonfiguration von dev-master lässt sich nicht das Javascript-Template js_mmenu auswählen. Stattdessen wird nur mmenu_default angeboten. Ist das so beabsichtigt?

Das ist beabsichtigt. Das JavaScript Template js_mmenu zu benennen war ein Fehler, da man es dadurch im Seitenlayout auswählen konnte. In der aktuellen dev-master Version ist das geändert und es gibt auch eine Migration.

rustykowski commented 4 years ago

okay, verstehe. Woran könnte es dann liegen, das die "Mechanik" der Menüebenen nicht funktioniert. Habe es nun auch noch einmal in einer frischen Installation mit Contao-Demo-Theme probiert – mit gleichem Ergebnis.

fritzmg commented 4 years ago

Müsste ich mir genauer ansehen, könnte aber noch etwas dauern, da wir das Modul derzeit in keinem aktiven Projekt benötigen. Alternativ kann man aber auch über GitHub Sponsors unterstützen, damit ich auch ohne aktivem Projekt an frei verfügbaren Erweiterungen wie dieser arbeiten kann.

fritzmg commented 4 years ago

In einem aktuellen Projekt konnte ich keine Probleme mit dem Scrolling auf mobilen Devices feststellen.

rustykowski commented 4 years ago

verrätst du mir das Projekt, dann würde ich da auch mal mit meinen Geräten checken? Wie gesagt: Das betraf nur Menüs mit schrecklich vielen Unterseiten, die nicht alle auf den Smartphone-Bildschirm passen.

fritzmg commented 4 years ago

Ist derzeit noch nicht live. Und selbst wenn: es wird vermutlich nichts mit der Extension direkt zu tun haben, sondern mit mmenu selbst.