Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
macOS: Schnelles Durchscrollen der Bilder nicht mehr möglich
Wenn man ein Bild aus einem Artikel vergrößert und es mehrere existieren, konnte man zuletzt noch ganz bequem per Mausrad in selbst festgelegtem Tempo durchscrollen. Das geht jetzt nicht mehr. Man muss entweder ganz langsam scrollen oder zwischendurch aufhören. Durchgängiges scrollen mittlerer Geschwindigkeit sorgt nun dafür, dass man nur noch ein Bild weiter kommt.
Bei solchen Problemen ist es immer ungemein hilfreich, ein Beispiel und den eigenen Browser zu nennen, denn oft gibt es Probleme nicht allgemein für alle, sondern nur speziell in bestimmten Browsern oder Konfigurationen oder nur unter bestimmten Umständen auf bestimmten Seiten.
Mit dem neusten Firefox habe ich das gleiche Verhalten. Daher eher kein Problem mit dem Browser, sondern mit der Implementierung.
Noch kaputter ist es, wenn man mit dem Touchpad eines MacBooks scrollen möchte. Dann kommt man nur ein Bild weiter. Weder kommt man dann zurück, noch weiter vor. Erst wenn man die Maus um einen Pixel bewegt hat, kann man das Bild wieder wechseln.
Ja, das Problem ist macOS-spezifisch. Um unter macOS überhaupt einen Bildwechsel per Mausrad unterstützen zu können, hatte ich 2015 den folgenden Workaround für das "Inertia Scrolling" von macOS eingebaut (das, wenn ich mich richtig erinnere, ohne den Workaround dazu führte, dass ein kleines bißchen Scrollen gleich dutzende Scroll-Events und somit Bildwechsel getriggert hatte).
Javascript:
function handleWheelEvent(e) {
if (e.deltaY < 0 || e.deltaX > 0) {
if (checkWheelThrottle(e)) switchPicture(index - 1);
} else if (e.deltaY > 0 || e.deltaX < 0) {
if (checkWheelThrottle(e)) switchPicture(index + 1);
}
e.preventDefault();
}
function checkWheelThrottle() {
// macOS: Inertia Scrolling handeln
if (/mac/i.test(navigator.userAgent)) {
var now = Date.now();
var diff = now - wheelEventTime;
wheelEventTime = now;
return diff > 200;
}
return true;
}
Die Funktion "checkWheelThrottle" throttled den Bildwechsel unter macOS aus dem genannten Grund auf einmal alle 200 ms. Wir prüfen gleich, ob der Workaround eventuell nicht mehr erforderlich ist.
(Bist du kürzlich auf macOS gewechselt, @T3rm1? Neu ist das 200ms-Throttling nämlich wie ausgeführt eigentlich nicht. )
Ist mein Arbeitsrechner. Hauptsächlich besuche ich die Seite sonst unter Windows. Muss ich mich wohl geirrt haben und es war schon immer unter macOS so.
Ich habe gerade eine Änderung eingebaut, die das Problem deutlich verbessern sollte (der Mac-Workaround nutzt jetzt nicht mehr Debouncing, sondern Throttling). Magst du nochmal schauen?