Navigation: reload() 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 reload() Methode des Navigation Interfaces lädt die aktuelle URL neu und aktualisiert dabei alle bereitgestellten Zustände in der Liste der Verlaufseinträge.

Syntax

js
reload()
reload(options)

Parameter

options Optional

Ein Optionsobjekt, das die folgenden Eigenschaften enthält:

state Optional

Entwicklerdefinierte Informationen, die im zugehörigen NavigationHistoryEntry gespeichert werden sollen, sobald die Navigation abgeschlossen ist, abrufbar über getState(). Dies kann jeder beliebige Datentyp sein. Zum Beispiel könnten Sie die Anzahl der Seitenbesuche für Analysezwecke speichern oder Details zum UI-Zustand speichern, sodass die Ansicht genau so angezeigt werden kann, wie der Benutzer sie zuletzt verlassen hat. Alle im state gespeicherten Daten müssen strukturiert klonierbar sein.

info Optional

Entwicklerdefinierte Informationen, die an das navigate Ereignis übergeben werden, verfügbar in NavigateEvent.info. Dies kann jeder beliebige Datentyp sein. Beispielsweise möchten Sie den neu navigierten Inhalt mit einer anderen Animation anzeigen, je nachdem, wie er angesteuert wurde (nach links wischen, nach rechts wischen oder nach Hause gehen). Ein String, der angibt, welche Animation verwendet werden soll, könnte als info übergeben werden.

Rückgabewert

Ein Objekt mit den folgenden Eigenschaften:

committed

Ein Promise, der erfüllt wird, wenn sich die sichtbare URL geändert hat und ein neuer NavigationHistoryEntry erstellt wurde.

finished

Ein Promise, der erfüllt wird, wenn alle von dem intercept() Handler zurückgegebenen Promises erfüllt sind. Dies ist gleichbedeutend mit dem Erfüllen des NavigationTransition.finished Versprechens, wenn das navigatesuccess Ereignis ausgelöst wird.

Eine dieser Versprechen wird abgelehnt, wenn die Navigation aus irgendeinem Grund fehlgeschlagen ist.

Ausnahmen

DataCloneError DOMException

Wird ausgelöst, wenn der state Parameter Werte enthält, die nicht strukturiert klonierbar sind.

Beispiele

Verwendung von info und state

js
async function handleReload() {
  await navigation.reload({
    info: { animation: "fade-in" },
    state: { infoPaneOpen: true },
  }).finished;

  // Update application state
  // …
}

Seite neu laden und ein neues Zustandsobjekt hinzufügen:

js
async function handleReload() {
  await navigation.reload({
    state: { ...navigation.currentEntry.getState(), newState: 3 },
  }).finished;

  // Update application state
  // …
}

Spezifikationen

Specification
HTML
# dom-navigation-reload-dev

Browser-Kompatibilität

Siehe auch