Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

webNavigation.onCreatedNavigationTarget

Wird ausgelöst, wenn ein neues Fenster oder ein neuer Tab in einem bestehenden Fenster erstellt wird, um das Ziel einer Navigation zu hosten. Beispielsweise 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 Navigationstarget erstellt wird (zum Beispiel, wenn der Benutzer einen neuen Tab durch Drücken von Strg+T öffnet).

Wenn dieses Ereignis ausgelöst wird, geschieht dies, bevor webNavigation.onBeforeNavigate.

Syntax

js
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 Lauschen auf dieses Ereignis. Das listener-Argument ist der zu entfernende Listener.

hasListener(listener)

Überprüft, ob listener für dieses Ereignis registriert ist. Gibt true zurück, wenn es lauscht, andernfalls false.

addListener-Syntax

Parameter

listener

Die Funktion, die aufgerufen wird, wenn dieses Ereignis eintritt. Der Funktion wird dieses Argument übergeben:

details

object. Details über das Navigationsevent. Weitere Informationen finden Sie im Abschnitt details.

filter Optional

object. Ein Objekt, das eine einzige Eigenschaft url enthält, welche ein Array von events.UrlFilter Objekten ist. Wenn Sie diesen Parameter einbeziehen, wird das Ereignis nur für Übergänge zu URLs ausgelöst, die mit mindestens einem UrlFilter im Array übereinstimmen. Wenn Sie diesen Parameter weglassen, wird das Ereignis für alle Übergänge ausgelöst. Beachten Sie, dass filter in Firefox nicht unterstützt wird.

Zusätzliche Objekte

details

sourceFrameId

integer. ID des Rahmens, von dem die Navigation initiiert wird. 0 bedeutet, dass der Rahmen der obere Browsing-Kontext des Tabs ist, nicht ein verschachteltes <iframe>. Ein positiver Wert zeigt an, dass die Navigation von einem verschachtelten iframe initiiert wird. Rahmen-IDs sind für einen bestimmten Tab und Prozess eindeutig.

sourceTabId

integer. Die ID des Tabs, von dem die Navigation initiiert wird. Zum Beispiel, wenn der Benutzer einen Link in einem neuen Tab öffnet, wird dies die ID des Tabs sein, der den Link enthält.

tabId

integer. Die ID des neu erstellten Tabs.

timeStamp

number. Die Zeit, zu der der Browser das Navigationstarget 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 wurde.

processId Optional Veraltet

integer. Dieser Wert wird in modernen Browsern nicht gesetzt. Wenn er gesetzt wurde, repräsentierte er die ID des Prozesses, von dem die Navigation stammt.

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.

js
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,
);

Browser-Kompatibilität

Hinweis: Diese API basiert auf Chromium's chrome.webNavigation API. Diese Dokumentation ist abgeleitet von web_navigation.json im Chromium-Code.