webNavigation.onBeforeNavigate
Wird ausgelöst, wenn der Browser im Begriff ist, ein Navigationsevent zu starten.
Syntax
browser.webNavigation.onBeforeNavigate.addListener(
listener, // function
filter // optional object
)
browser.webNavigation.onBeforeNavigate.removeListener(listener)
browser.webNavigation.onBeforeNavigate.hasListener(listener)
Ereignisse haben drei Funktionen:
addListener(listener)-
Fügt diesem Ereignis einen Listener hinzu.
removeListener(listener)-
Hört auf, dieses Ereignis zu hören. Das Argument
listenerist der zu entfernende Listener. hasListener(listener)-
Überprüft, ob
listenerfür dieses Ereignis registriert ist. Gibttruezurück, wenn es hört, andernfallsfalse.
Syntax von addListener
>Parameter
listener-
Die Funktion, die aufgerufen wird, wenn dieses Ereignis eintritt. Der Funktion wird folgendes Argument übergeben:
filterOptional-
object. Ein Objekt, das eine einzelne Eigenschafturlenthält, welche einArrayvonevents.UrlFilterObjekten ist. Wenn Sie diesen Parameter einbeziehen, wird das Ereignis nur für Übergänge zu URLs ausgelöst, die mindestens einenUrlFilterim Array erfüllen. Wenn Sie diesen Parameter weglassen, wird das Ereignis für alle Übergänge ausgelöst.
Zusätzliche Objekte
>details
tabId-
integer. Die ID des Tabs, in dem die Navigation stattfinden wird. url-
string. Die URL, zu der der gegebene Frame navigieren wird. frameId-
integer. Der Frame, in dem die Navigation stattfinden wird.0gibt an, dass die Navigation im obersten Browserkontext des Tabs erfolgt, nicht in einem verschachtelten<iframe>. Ein positiver Wert gibt an, dass die Navigation in einem verschachtelten iframe erfolgt. Frame-IDs sind für einen gegebenen Tab und Prozess eindeutig. frameType-
string. Der Typ des Frames. Gibt die Werte"outermost_frame","fenced_frame"oder"sub_frame"zurück. parentFrameId-
integer. Die ID des übergeordneten Frames. Wird auf-1gesetzt, wenn dies ein oberster Frame ist. parentDocumentId-
string. Eine UUID des übergeordneten Dokuments, dem der Frame gehört. Wird nicht gesetzt, wenn kein übergeordnetes Dokument existiert. Weitere Informationen finden Sie im Artikel Work with documentId.Hinweis: Dieses Ereignis schließt
documentIdnicht ein, da das Ziel-Dokument der Navigation nicht existiert, wenn das Ereignis ausgelöst wird. Weitere Informationen finden Sie im Artikel Work with documentId. documentLifecycle-
string. Der Lebenszyklus, in dem sich das Dokument befindet. Gibt die Werte"prerender","active","cached"oder"pending_deletion"zurück. timeStamp-
number. Die Zeit, zu der der Browser im Begriff ist, die Navigation zu starten, in Millisekunden seit der Epoche. processIdOptional-
integer. Dieser Wert wird in modernen Browsern nicht gesetzt. Wenn er gesetzt war, repräsentierte er die ID des Prozesses, der das Renderer für diesen Tab ausführte.
Beispiele
Protokolliert die Ziel-URLs für onBeforeNavigate, wenn der Hostname des Ziels "example.com" enthält oder mit "developer" beginnt.
const filter = {
url: [{ hostContains: "example.com" }, { hostPrefix: "developer" }],
};
function logOnBefore(details) {
console.log(`onBeforeNavigate to: ${details.url}`);
}
browser.webNavigation.onBeforeNavigate.addListener(logOnBefore, filter);
Browser-Kompatibilität
Hinweis:
Diese API basiert auf der chrome.webNavigation API von Chromium. Diese Dokumentation ist abgeleitet von web_navigation.json im Chromium-Code.