Navigation: traverseTo()-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, bevor Sie diese produktiv verwenden.
Die traverseTo()
-Methode des Navigation
-Interfaces navigiert zu dem durch den gegebenen key
identifizierten NavigationHistoryEntry
.
Syntax
traverseTo(key)
traverseTo(key, options)
Parameter
key
-
Der
key
desNavigationHistoryEntry
, zu dem navigiert werden soll. options
Optional-
Ein Optionen-Objekt, das folgende Eigenschaften enthält:
info
Optional-
Entwicklerdefinierte Informationen, die an das
navigate
-Event weitergegeben werden, verfügbar inNavigateEvent.info
. Dies kann jeden Datentyp umfassen. Sie könnten beispielsweise wünschen, neu navigierte Inhalte mit einer anderen Animation anzuzeigen, je nachdem, wie darauf zugegriffen wurde (nach links wischen, nach rechts wischen oder zur Startseite). Ein String, der angibt, welche Animation verwendet werden soll, könnte alsinfo
übergeben werden.
Rückgabewert
Ein Objekt mit den folgenden Eigenschaften:
committed
-
Ein
Promise
, welches erfüllt wird, wenn die sichtbare URL geändert wurde und ein neuerNavigationHistoryEntry
erstellt wurde. finished
-
Ein
Promise
, welches erfüllt wird, wenn alle von demintercept()
-Handler zurückgegebenen Promises erfüllt sind. Dies entspricht der Erfüllung desNavigationTransition.finished
-Promise, wenn dasnavigatesuccess
-Event ausgelöst wird.
Eines dieser Promises wird abgelehnt, wenn die Navigation aus irgendeinem Grund fehlgeschlagen ist.
Ausnahmen
InvalidStateError
DOMException
-
Ausgelöst, wenn der
Navigation.currentEntry
'sNavigationHistoryEntry.index
-Wert -1 ist, was bedeutet, dass das aktuelleDocument
noch nicht aktiv ist, oder wenn die Navigationshistorienliste keinenNavigationHistoryEntry
mit dem angegebenenkey
enthält, oder wenn das aktuelleDocument
entladen wird.
Beispiele
Home-Button einrichten
function initHomeBtn() {
// Get the key of the first loaded entry
// so the user can always go back to this view.
const { key } = navigation.currentEntry;
backToHomeButton.onclick = () => {
navigation.traverseTo(key);
};
}
// Intercept navigate events, such as link clicks, and
// replace them with single-page navigations
navigation.addEventListener("navigate", (event) => {
event.intercept({
async handler() {
// Navigate to a different view,
// but the "home" button will always work.
},
});
});
Spezifikationen
Specification |
---|
HTML Standard # dom-navigation-traverseto-dev |
Browser-Kompatibilität
BCD tables only load in the browser