NavigateEvent: canIntercept Eigenschaft
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Die canIntercept schreibgeschützte Eigenschaft des NavigateEvent-Interfaces gibt true zurück, wenn die Navigation abgefangen und ihre URL umgeschrieben werden kann, andernfalls false.
Es gibt mehrere Regeln, wann eine Navigation abgefangen werden kann. Zum Beispiel:
- Sie können keine Cross-Origin-Navigationen abfangen.
- Sie können
http- oderhttps-URLs abfangen, wenn sich nur derpath-,query- undfragment-Teil der neuen URL von der aktuellen URL unterscheidet. - Sie können
file-URLs abfangen, wenn sich nur derquery- undfragment-Teil der neuen URL unterscheidet. - Für andere URL-Typen können Sie die Navigation abfangen, wenn sich nur der
fragment-Teil unterscheidet.
Weitere Erläuterungen, wann ein Dokument seine URL umgeschrieben haben kann, finden Sie in der Spezifikation: when a Document can have its URL rewritten, einschließlich einer Tabelle mit Beispielen.
Wert
Ein boolescher Wert—true, wenn die Navigation abgefangen werden kann, false wenn nicht.
Beispiele
js
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({
handler() {
if (event.formData) {
processFormDataAndUpdateUI(event.formData, event.signal);
} else {
doSinglePageAppNav(event.destination, event.signal);
}
},
});
});
Spezifikationen
| Specification |
|---|
| HTML> # dom-navigateevent-canintercept-dev> |