Document: startViewTransition()-Methode

Limited availability

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

Die startViewTransition()-Methode des Document-Interfaces startet eine neue View-Übergang (SPA) im selben Dokument und gibt ein ViewTransition-Objekt zurück, um diesen zu repräsentieren.

Wenn startViewTransition() aufgerufen wird, wird eine Abfolge von Schritten durchgeführt, wie im Abschnitt Der View-Übergangsprozess erläutert.

Syntax

js
startViewTransition()
startViewTransition(updateCallback)

Parameter

updateCallback Optional

Eine optionale Callback-Funktion, die typischerweise verwendet wird, um das DOM während des SPA-View-Übergangsprozesses zu aktualisieren, und die ein Promise zurückgibt. Der Callback wird aufgerufen, sobald die API einen Schnappschuss der aktuellen Seite erstellt hat. Wenn das von dem Callback zurückgegebene Promise erfüllt wird, beginnt der View-Übergang im nächsten Frame. Wenn das von dem Callback zurückgegebene Promise abgelehnt wird, wird der Übergang abgebrochen.

Rückgabewert

Eine ViewTransition-Objektinstanz.

Beispiele

Grundlegende Verwendung

In unserem Grundlegenden SPA-View-Übergangs-Demo behandelt die Funktion updateView() sowohl Browser, die die View Transitions API unterstützen, als auch solche, die dies nicht tun. In unterstützenden Browsern rufen wir startViewTransition() auf, um den View-Übergangsprozess auszulösen, ohne uns um den Rückgabewert zu kümmern.

js
function updateView(event) {
  // Handle the difference in whether the event is fired on the <a> or the <img>
  let targetIdentifier;
  if (event.target.firstChild === null) {
    targetIdentifier = event.target;
  } else {
    targetIdentifier = event.target.firstChild;
  }

  const displayNewImage = () => {
    const mainSrc = `${targetIdentifier.src.split("_th.jpg")[0]}.jpg`;
    galleryImg.src = mainSrc;
    galleryCaption.textContent = targetIdentifier.alt;
  };

  // Fallback for browsers that don't support View Transitions:
  if (!document.startViewTransition) {
    displayNewImage();
    return;
  }

  // With View Transitions:
  const transition = document.startViewTransition(() => displayNewImage());
}

Spezifikationen

Specification
CSS View Transitions Module Level 1
# dom-document-startviewtransition

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch