windows.getCurrent()
Ruft das aktuelle Browserfenster ab und übergibt seine Details an einen Callback.
Das "aktuelle" Fenster ist nicht unbedingt dasselbe wie das aktuell fokussierte Fenster. Wenn diese Funktion von einem Hintergrundskript aufgerufen wird, dann gibt sie das aktuell fokussierte Fenster zurück. Aber wenn sie von einem Skript aufgerufen wird, dessen Dokument mit einem bestimmten Browserfenster verknüpft ist, dann gibt sie dieses Browserfenster zurück. Zum Beispiel, wenn der Browser eine Seitenleiste anzeigt, dann hat jedes Browserfenster seine eigene Instanz des Seitenleiste-Dokuments. Wenn ein Skript, das in diesem Seitenleiste-Dokument läuft, getCurrent()
aufruft, dann wird es das Fenster dieses Seitenleiste-Dokuments 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
. Wenn wahr, wird daswindows.Window
-Objekt einetabs
-Eigenschaft haben, die eine Liste vontabs.Tab
-Objekten enthält, die die Tabs im Fenster repräsentieren. DieTab
-Objekte enthalten nur die Eigenschaftenurl
,title
undfavIconUrl
, wenn diemanifest
-Datei 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
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:
Falls angegeben, wird die windowTypes
Komponente von getInfo
ignoriert. Die Verwendung von windowTypes
ist seit Firefox 62 veraltet.
Rückgabewert
Ein Promise
, das 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.
Browser-Kompatibilität
Beispiele
Wenn der Benutzer auf das Symbol einer Browseraktion klickt, holt sich dieses Beispiel das aktuelle Fenster und protokolliert die URLs der darin enthaltenen Tabs. Beachten Sie, dass Sie die "tabs"-Berechtigung oder entsprechende Host-Berechtigungen benötigen, um auf die Tab-URLs zugreifen zu können.
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 abgeleitet von windows.json
im Chromium-Code.