Passive Event-Listener sind ein neuer Webstandard, der in Chrome 51 eingeführt wurde und das Potenzial hat, die Scrollleistung erheblich zu steigern, insbesondere auf Mobilgeräten. Im folgenden Video sehen Sie eine Gegenüberstellung der Verbesserungen:
Funktionsweise
Wenn Sie auf einer Seite scrollen und es zu einer solchen Verzögerung kommt, dass sich die Seite nicht an Ihrem Finger zu orientieren scheint, spricht man von Scroll-Jank. Häufig ist ein Touch-Ereignis-Listener die Ursache für Ruckeln beim Scrollen. Touch-Event-Listener sind oft nützlich, um Nutzerinteraktionen zu erfassen und benutzerdefinierte Scroll-Erlebnisse zu erstellen, z. B. um das Scrollen ganz abzubrechen, wenn mit einer eingebetteten Google-Karte interagiert wird.
Derzeit können Browser nicht erkennen, ob ein Touch-Ereignis-Listener den Scrollvorgang abbrechen wird. Daher warten sie immer, bis der Listener abgeschlossen ist, bevor sie die Seite scrollen.
Passive Event-Listener lösen dieses Problem, indem Sie im Parameter options
von addEventListener
ein Flag festlegen können, das angibt, dass der Listener den Scrollvorgang niemals abbrechen wird. Anhand dieser Informationen können Browser die Seite sofort scrollen, anstatt erst nach Abschluss des Listeners.
Weitere Informationen
Im Chromium-Blog finden Sie eine allgemeine Übersicht über die Funktionsweise passiver Event-Listener:
Neue APIs zur Verbesserung der Scrollleistung
Und das Repository der Spezifikation, um zu erfahren, wie passive Event-Listener implementiert werden: