Navigation: traverseTo() Methode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Die traverseTo() Methode des Navigation Interfaces navigiert zu dem NavigationHistoryEntry, das durch den angegebenen key identifiziert wird.
Syntax
traverseTo(key)
traverseTo(key, options)
Parameter
key-
Der
keydesNavigationHistoryEntry, zu dem navigiert werden soll. optionsOptional-
Ein Optionsobjekt, das die folgenden Eigenschaften enthält:
infoOptional-
Entwicklerdefinierte Informationen, die an das
navigateEreignis übergeben werden und inNavigateEvent.infoverfügbar gemacht werden. Dies kann ein beliebiger Datentyp sein. Sie könnten zum Beispiel den neu navigierten Inhalt mit einer anderen Animation anzeigen, je nachdem, wie dorthin navigiert wurde (nach links wischen, nach rechts wischen oder nach Hause gehen). 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, das erfüllt wird, wenn sich die sichtbare URL geändert hat und ein neuerNavigationHistoryEntryerstellt wurde. finished-
Ein
Promise, das erfüllt wird, wenn alle von demintercept()Handler zurückgegebenen Promises erfüllt sind. Dies entspricht dem Erfüllen desNavigationTransition.finishedPromises, wenn dasnavigatesuccessEreignis ausgelöst wird.
Eines dieser Promises wird abgelehnt, wenn die Navigation aus irgendeinem Grund fehlgeschlagen ist.
Ausnahmen
InvalidStateErrorDOMException-
Wird ausgelöst, wenn der
Navigation.currentEntry'sNavigationHistoryEntry.indexWert -1 ist, das heißt, das aktuelleDocumentist noch nicht aktiv, oder wenn die Navigation History Liste keinenNavigationHistoryEntrymit dem angegebenen Schlüssel enthält, oder wenn das aktuelleDocumententladen 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> # dom-navigation-traverseto-dev> |