NavigateEvent: scroll() Methode

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Die scroll() Methode des NavigateEvent Interfaces kann aufgerufen werden, um das vom Browser gesteuerte Scrollverhalten, das als Reaktion auf die Navigation auftritt, manuell auszulösen, wenn Sie möchten, dass es passiert, bevor die Navigation abgeschlossen wurde.

Syntax

js
scroll()

Parameter

Keine.

Rückgabewert

Kein Wert (undefined).

Ausnahmen

InvalidStateError DOMException

Wird ausgelöst, wenn das aktuelle Document noch nicht aktiv ist oder wenn die Navigation abgebrochen wurde.

SecurityError DOMException

Wird ausgelöst, wenn das Ereignis durch einen dispatchEvent() Aufruf und nicht von der Benutzeroberfläche ausgelöst wurde.

Beispiele

Handling des Scrollens mit scroll()

In diesem Beispiel für das Abfangen einer Navigation beginnt die handler()-Funktion mit dem Abrufen und Rendern einiger Artikelinhalte, ruft aber danach noch zusätzliche Inhalte ab und rendert sie. Es ist sinnvoll, die Seite auf den Hauptartikelinhalt zu scrollen, sobald er verfügbar ist, damit der Benutzer damit interagieren kann, anstatt zu warten, bis auch die zusätzlichen Inhalte gerendert sind. Um dies zu erreichen, haben wir einen scroll() Aufruf zwischen den beiden hinzugefügt.

js
navigation.addEventListener("navigate", (event) => {
  if (shouldNotIntercept(navigateEvent)) {
    return;
  }
  const url = new URL(event.destination.url);

  if (url.pathname.startsWith("/articles/")) {
    event.intercept({
      async handler() {
        const articleContent = await getArticleContent(url.pathname);
        renderArticlePage(articleContent);

        event.scroll();

        const secondaryContent = await getSecondaryContent(url.pathname);
        addSecondaryContent(secondaryContent);
      },
    });
  }
});

Spezifikationen

Specification
HTML
# dom-navigateevent-scroll-dev

Browser-Kompatibilität

Siehe auch