windows.getAll()

Erhält Informationen über alle geöffneten Fenster und übergibt diese 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, die die Tabs in diesem Fenster darstellen. Die Tab Objekte enthalten die Eigenschaften url, title und favIconUrl nur, wenn die Manifestdatei der Erweiterung die "tabs" Berechtigung oder Host-Berechtigungen enthält, die zur URL des Tabs passen.

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, wird 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 angegebenen Kriterien entsprechen. Im Falle eines Fehlers wird das Promise mit einer Fehlermeldung abgelehnt.

Browser-Kompatibilität

Beispiele

Protokollieren Sie die URLs für die Tabs in allen "normalen" Browserfenstern. Beachten Sie, dass Sie die Berechtigung "tabs" permission oder entsprechende 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

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