NavigateEvent: hasUAVisualTransition Eigenschaft
Baseline 2026>
Neu verfügbar
Seit Januar 2026 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.
Die schreibgeschützte Eigenschaft hasUAVisualTransition des NavigateEvent-Interfaces gibt true zurück, wenn der User-Agent vor dem Auslösen dieses Ereignisses eine visuelle Transition für diese Navigation durchgeführt hat, andernfalls false.
User-Agents können beim Ausführen von Site-Navigationen eine eingebaute visuelle Transition bereitstellen. Wenn der Site-Autor ebenfalls eine visuelle Transition hinzufügt, können sich User-Agent- und Autor-Transitionen überschneiden und Besucher verwirren. Die Eigenschaft ermöglicht es Ihnen zu erkennen, ob eine UA-Transition bereitgestellt wurde, sodass Sie Autor-Transitionen überspringen können, um eine bessere Benutzererfahrung zu bieten.
Wert
Ein boolescher Wert.
Beispiele
navigation.addEventListener("navigate", (event) => {
// Some navigations, e.g. cross-origin navigations, we
// cannot intercept. Let the browser handle those normally.
if (!event.canIntercept) {
return;
}
// Don't intercept fragment navigations or downloads.
if (event.hashChange || event.downloadRequest !== null) {
return;
}
event.intercept({
async handler() {
// Fetch the new content
const newContent = await fetchNewContent(event.destination.url, {
signal: event.signal,
});
// The UA does not support View Transitions, or the UA
// already provided a Visual Transition by itself (e.g. swipe back).
// In either case, update the DOM directly
if (!document.startViewTransition || event.hasUAVisualTransition) {
doSinglePageAppNav(newContent);
return;
}
// Update the content using a View Transition
document.startViewTransition(() => {
doSinglePageAppNav(newContent);
});
},
});
});
Spezifikationen
| Spezifikation |
|---|
| HTML> # dom-navigateevent-hasuavisualtransition> |