windows.getAll()

Ruft Informationen über alle offenen Fenster ab und übergibt sie an einen Callback.

Dies ist eine asynchrone Funktion, die ein Promise zurückgibt.

Syntax

js
let gettingAll = browser.windows.getAll(
  getInfo                // optional object
)

Parameter

getInfo Optional

object. Dies steuert, welche windows.Window Objekte abgerufen werden.

populate Optional

boolean. Standardmäßig false. Wenn auf true gesetzt, wird jedes windows.Window Objekt eine tabs Eigenschaft haben, die eine Liste von tabs.Tab Objekten enthält, welche die Tabs in diesem Fenster darstellen. Die Tab-Objekte enthalten die Eigenschaften url, title und favIconUrl nur, wenn die Manifestdatei der Erweiterung die Berechtigung "tabs" oder Host-Berechtigungen enthält, die mit der URL des Tabs übereinstimmen.

windowTypes Optional

Ein array von windows.WindowType Objekten. Wenn gesetzt, werden die zurückgegebenen windows.Window Objekte basierend auf ihrem 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.

Rückgabewert

Ein Promise, das mit einem Array von windows.Window Objekten erfüllt wird, die alle Fenster darstellen, die den gegebenen Kriterien entsprechen. Wenn ein Fehler auftritt, wird das Promise mit einer Fehlermeldung abgelehnt.

Beispiele

Protokollieren der URLs für die Tabs über alle "normalen" Browserfenster. Beachten Sie, dass Sie die "tabs" Berechtigung oder passende Host-Berechtigungen benötigen, um auf Tab-URLs zuzugreifen.

js
function logTabsForWindows(windowInfoArray) {
  for (const windowInfo of windowInfoArray) {
    console.log(`Window: ${windowInfo.id}`);
    console.log(windowInfo.tabs.map((tab) => tab.url));
  }
}

function onError(error) {
  console.error(`Error: ${error}`);
}

browser.browserAction.onClicked.addListener((tab) => {
  browser.windows
    .getAll({
      populate: true,
      windowTypes: ["normal"],
    })
    .then(logTabsForWindows, onError);
});

Beispielerweiterungen

Browser-Kompatibilität

Hinweis: Diese API basiert auf Chromiums chrome.windows API. Diese Dokumentation ist abgeleitet von windows.json im Chromium-Code.