windows.getCurrent()
Ruft das aktuelle Browserfenster ab und übergibt dessen Details an einen Rückruf.
Das "aktuelle" Fenster ist nicht unbedingt dasselbe wie das derzeit fokussierte Fenster. Wenn diese Funktion von einem Hintergrundskript aufgerufen wird, gibt sie das derzeit fokussierte Fenster zurück. Wenn sie jedoch von einem Skript aufgerufen wird, dessen Dokument mit einem bestimmten Browserfenster verknüpft ist, gibt sie dieses Browserfenster zurück. Zum Beispiel hat jeder Browser, der eine Seitenleiste anzeigt, seine eigene Instanz des Seitenleisten-Dokuments. Wenn ein Skript im Seitenleisten-Dokument getCurrent()
aufruft, gibt es das Fenster dieses Seitenleisten-Dokuments zurück.
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 true, hat daswindows.Window
-Objekt einetabs
-Eigenschaft, die eine Liste vontabs.Tab
-Objekten enthält, die die Tabs im Fenster darstellen. DieTab
-Objekte enthalten nur die Eigenschaftenurl
,title
undfavIconUrl
, wenn die Manifestdatei der Erweiterung die Berechtigung"tabs"
oder Host-Berechtigungen enthält, die zur URL des Tabs passen. windowTypes
Veraltet Optional-
Ein
array
vonwindows.WindowType
-Objekten. Wenn gesetzt, wird das zurückgegebenewindows.Window
basierend auf seinem Typ gefiltert. Wenn nicht gesetzt, wird der Standardfilter auf['normal', 'panel', 'popup']
gesetzt, wobei'panel'
-Fenstertypen auf die eigenen Fenster der Erweiterung beschränkt sind.
Hinweis:
Wenn angegeben, wird die windowTypes
Komponente von getInfo
ignoriert. Die Verwendung von windowTypes
wurde ab Firefox 62 veraltet.
Rückgabewert
Ein Promise
, das mit einem windows.Window
-Objekt erfüllt wird, das die Details des Fensters enthält. Falls ein Fehler auftritt, wird das Versprechen mit einer Fehlermeldung abgelehnt.
Browser-Kompatibilität
Beispiele
Wenn der Benutzer auf das Symbol einer Browseraktion klickt, holt dieses Beispiel das aktuelle Fenster und protokolliert die URLs der darin enthaltenen Tabs. Beachten Sie, dass Sie die Berechtigung "tabs" permission oder entsprechende 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 leitet sich von windows.json
im Chromium-Code ab.