windows.getCurrent()
Ruft das aktuelle Browserfenster ab und übergibt seine Details in einen Callback.
Das "aktuelle" Fenster ist nicht zwingend dasselbe wie das derzeit fokussierte Fenster. Wenn diese Funktion aus einem Hintergrundskript aufgerufen wird, gibt sie das derzeit fokussierte Fenster zurück. Wenn sie jedoch aus einem Skript aufgerufen wird, dessen Dokument mit einem bestimmten Browserfenster verknüpft ist, gibt sie dieses Browserfenster zurück. Zum Beispiel hat, wenn der Browser eine Seitenleiste anzeigt, jedes Browserfenster seine eigene Instanz des Seitenleistendokuments. Wenn ein Skript, das im Seitenleistendokument ausgeführt wird, getCurrent()
aufruft, wird es das Fenster dieses Seitenleistendokuments zurückgeben.
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
. Wenntrue
, hat daswindows.Window
-Objekt eine Eigenschafttabs
, 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, die zur URL des Tabs passen, enthält. windowTypes
Veraltet Optional-
Ein
array
von
-Objekten. Wenn gesetzt, wird das zurückgegebenewindows.WindowType
windows.Window
basierend auf seinem Typ gefiltert. Falls nicht gesetzt, ist der Standardfilter auf['normal', 'panel', 'popup']
eingestellt, wobei'panel'
-Fenstertypen auf die eigenen Fenster der Erweiterung beschränkt sind.
Hinweis:
Falls angegeben, wird die Komponente windowTypes
von getInfo
ignoriert. Die Verwendung von windowTypes
wurde seit Firefox 62 als veraltet markiert.
Rückgabewert
Ein Promise
, das mit einem windows.Window
-Objekt, das die Details des Fensters enthält, erfüllt wird. Wenn ein Fehler auftritt, wird das Versprechen mit einer Fehlermeldung abgelehnt.
Browser-Kompatibilität
BCD tables only load in the browser
Beispiele
Wenn der Benutzer auf das Symbol einer Browseraktion klickt, ruft dieses Beispiel das aktuelle Fenster ab und protokolliert die URLs der darin enthaltenen Tabs. Beachten Sie, dass Sie die Berechtigung "tabs" 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
Hinweis:
Diese API basiert auf der chrome.windows
-API von Chromium. Diese Dokumentation ist aus windows.json
im Chromium-Code abgeleitet.