webNavigation.onCreatedNavigationTarget
Wird ausgelöst, wenn ein neues Fenster oder ein neuer Tab in einem vorhandenen Fenster erstellt wird, um das Ziel einer Navigation zu hosten. Zum Beispiel wird dieses Ereignis gesendet, wenn:
- der Benutzer einen Link in einem neuen Tab oder Fenster öffnet
- eine Webseite eine Ressource in einem neuen Tab oder Fenster mit
window.open()
lädt (beachten Sie jedoch, dass das Ereignis nicht gesendet wird, wenn der Popup-Blocker des Browsers das Laden blockiert).
Das Ereignis wird nicht gesendet, wenn ein Tab oder Fenster ohne ein Navigation Target erstellt wird (zum Beispiel, wenn der Benutzer einen neuen Tab durch Drücken von Strg+T öffnet).
Wenn dieses Ereignis ausgelöst wird, wird es vor webNavigation.onBeforeNavigate
ausgelöst.
Syntax
browser.webNavigation.onCreatedNavigationTarget.addListener(
listener, // function
filter // optional object
)
browser.webNavigation.onCreatedNavigationTarget.removeListener(listener)
browser.webNavigation.onCreatedNavigationTarget.hasListener(listener)
Ereignisse haben drei Funktionen:
addListener(listener)
-
Fügt diesem Ereignis einen Listener hinzu.
removeListener(listener)
-
Beendet das Zuhören für dieses Ereignis. Das Argument
listener
ist der zu entfernende Listener. hasListener(listener)
-
Überprüft, ob
listener
für dieses Ereignis registriert ist. Gibttrue
zurück, wenn es zuhört, andernfallsfalse
.
addListener-Syntax
Parameter
listener
-
Die Funktion, die aufgerufen wird, wenn dieses Ereignis auftritt. Der Funktion wird dieses Argument übergeben:
filter
Optional-
object
. Ein Objekt, das eine einzelne Eigenschafturl
enthält, die einArray
vonevents.UrlFilter
Objekten ist. Wenn Sie diesen Parameter einschließen, wird das Ereignis nur für Übergänge zu URLs ausgelöst, die mit mindestens einemUrlFilter
im Array übereinstimmen. Wenn Sie diesen Parameter weglassen, wird das Ereignis für alle Übergänge ausgelöst. Beachten Sie, dassfilter
in Firefox nicht unterstützt wird.
Zusätzliche Objekte
details
sourceFrameId
-
integer
. ID des Frames, von dem aus die Navigation initiiert wird.0
zeigt an, dass der Frame der obere Browsing-Kontext des Tabs ist, nicht ein verschachteltes<iframe>
. Ein positiver Wert zeigt, dass die Navigation von einem verschachtelten iframe aus initiiert wird. Frame-IDs sind eindeutig für einen gegebenen Tab und Prozess. processId
Optional Veraltet-
integer
. Dieser Wert wird in modernen Browsern nicht gesetzt. Als er gesetzt wurde, repräsentierte er die ID des Prozesses, von dem die Navigation ausging. sourceTabId
-
integer
. Die ID des Tabs, von dem aus die Navigation initiiert wird. Zum Beispiel, wenn der Benutzer einen Link in einem neuen Tab öffnet, ist dies die ID des Tabs, der den Link enthält. tabId
-
integer
. Die ID des neu erstellten Tabs. timeStamp
-
number
. Der Zeitpunkt, zu dem der Browser das Navigation Target erstellt hat, in Millisekunden seit der Epoche. url
-
string
. Die URL, die im neuen Tab geladen wird. windowId
-
number
. Die ID des Fensters, in dem der neue Tab erstellt wird.
Browser-Kompatibilität
Beispiele
Protokolliert die Ziel-URL, die Quell-Tab-ID und die Quell-Frame-ID für onCreatedNavigationTarget
, wenn der Hostname des Ziels "example.com" enthält oder mit "developer" beginnt.
const filter = {
url: [{ hostContains: "example.com" }, { hostPrefix: "developer" }],
};
function logOnCreatedNavigationTarget(details) {
console.log(`onCreatedNavigationTarget: ${details.url}`);
console.log(details.sourceTabId);
console.log(details.sourceFrameId);
}
browser.webNavigation.onCreatedNavigationTarget.addListener(
logOnCreatedNavigationTarget,
filter,
);
Hinweis:
Diese API basiert auf Chromiums chrome.webNavigation
API. Diese Dokumentation basiert auf web_navigation.json
im Chromium-Code.