windows.getCurrent()
Ruft das aktuelle Browserfenster ab und übergibt dessen Details an einen Callback.
Das "aktuelle" Fenster ist nicht notwendigerweise dasselbe wie das aktuell fokussierte Fenster. Wenn diese Funktion von einem Hintergrundskript aufgerufen wird, wird das aktuell fokussierte Fenster zurückgegeben. Wenn sie jedoch von einem Skript aufgerufen wird, dessen Dokument einem bestimmten Browserfenster zugeordnet ist, wird dieses Browserfenster zurückgegeben. Zum Beispiel, wenn der Browser eine Seitenleiste anzeigt, dann hat jedes Browserfenster seine eigene Instanz des Seitenleisten-Dokuments. Wenn ein Skript, das im Seitenleisten-Dokument läuft, getCurrent()
aufruft, dann wird das Fenster dieses Seitenleisten-Dokuments zurückgegeben.
Dies ist eine asynchrone Funktion, die ein Promise
zurückgibt.
Syntax
let gettingCurrent = browser.windows.getCurrent(
getInfo // optional object
)
Parameter
getInfo
Optional-
object
.populate
Optional-
boolean
. Fallstrue
, enthält daswindows.Window
-Objekt einetabs
-Eigenschaft, die eine Liste vontabs.Tab
-Objekten enthält, die die Tabs im Fenster repräsentieren. DieTab
-Objekte enthalten nur die Eigenschaftenurl
,title
undfavIconUrl
, wenn die Manifestdatei der Erweiterung die Berechtigung"tabs"
oder Host-Berechtigungen enthält, die mit der URL des Tabs übereinstimmen. windowTypes
Veraltet Optional-
Ein
array
vonwindows.WindowType
-Objekten. Wenn gesetzt, wird das zurückgegebenewindows.Window
-Objekt basierend auf seinem Typ gefiltert. Wenn nicht gesetzt, ist der Standardfilter auf['normal', 'panel', 'popup']
gesetzt, wobei'panel'
-Fenstertypen auf die eigenen Fenster der Erweiterung beschränkt sind.
Hinweis:
Wenn vorhanden, wird die windowTypes
-Komponente von getInfo
ignoriert. Die Verwendung von windowTypes
ist seit Firefox 62 veraltet.
Rückgabewert
Ein Promise
, der mit einem windows.Window
-Objekt erfüllt wird, das die Details des Fensters enthält. Wenn ein Fehler auftritt, wird das Versprechen mit einer Fehlermeldung abgelehnt.
Beispiele
Wenn der Benutzer auf das Symbol einer Browseraktion klickt, ruft dieses Beispiel das aktuelle Fenster ab und protokolliert die URLs der enthaltenen Tabs. Beachten Sie, dass Sie die Berechtigung "tabs" permission oder passende Host-Berechtigungen benötigen, um auf Tab-URLs zuzugreifen.
function logTabs(windowInfo) {
for (const tabInfo of windowInfo.tabs) {
console.log(tabInfo.url);
}
}
function onError(error) {
console.error(`Error: ${error}`);
}
browser.browserAction.onClicked.addListener((tab) => {
browser.windows.getCurrent({ populate: true }).then(logTabs, onError);
});
Beispielerweiterungen
Browser-Kompatibilität
Hinweis:
Diese API basiert auf der chrome.windows
-API von Chromium. Diese Dokumentation leitet sich von windows.json
im Chromium-Code ab.