Passive Ereignis-Listener sind ein neuer Webstandard, der in Chrome 51 eingeführt wurde. Sie können die Scrollleistung insbesondere auf Mobilgeräten erheblich steigern. Im folgenden Video sehen Sie eine direkte Demo der Verbesserungen:
Funktionsweise
Wenn beim Scrollen einer Seite eine solche Verzögerung auftritt, dass sich die Seite nicht an Ihrem Finger verankert anfühlt, wird dies als Scroll-Jitter bezeichnet. Häufig ist ein Touch-Ereignis-Listener der Grund für Ruckler beim Scrollen. Touch-Ereignis-Listener sind oft nützlich, um Nutzerinteraktionen zu erfassen und benutzerdefinierte Scrollfunktionen zu erstellen, z. B. um das Scrollen bei der Interaktion mit einer eingebetteten Google-Karte vollständig abzubrechen.
Derzeit können Browser nicht erkennen, ob ein Touch-Ereignis-Listener das Scrollen abbrechen wird. Daher warten sie immer, bis der Listener fertig ist, bevor sie die Seite scrollen.
Mit passiven Ereignis-Listenern lässt sich dieses Problem lösen, da Sie im Parameter options
von addEventListener
ein Flag setzen können, das angibt, dass der Listener das Scrollen nie abbrechen wird. Anhand dieser Informationen können Browser sofort auf der Seite scrollen, anstatt erst nach Abschluss des Listeners.
Weitere Informationen
Im Chromium-Blog finden Sie eine allgemeine Übersicht über die Funktionsweise passiver Ereignisempfänger:
Neue APIs zur Verbesserung der Scrollleistung für Entwickler
Im Repository der Spezifikation erfahren Sie, wie Sie passive Event-Listener implementieren: