windows.getAll()

Obtient des informations sur toutes les fenêtres ouvertes, en les passant dans un rappel.

Il s'agit d'une fonction asynchrone qui renvoie une Promise.

Syntaxe

js
var gettingAll = browser.windows.getAll(
  getInfo, // optional object
);

Paramètres

getInfoFacultatif

object. Cela contrôle ce que les objets windows.Window sont récupérés.

populateFacultatif

boolean Par défaut à false. S'il est défini sur true, chaque objet windows.Window aura une propriété tabs qui contient une liste d'objets tabs.Tab représentant les tabs de cette fenêtre. Les objets Tab contiendront les propriétés url, title et favIconUrl uniquement si le fichier manifest de l'extension contient les permissions "tabs".

windowTypesFacultatif

Un ensemble d'objets windows.WindowType. Si cette option est définie, les objets windows.Window renvoyés seront filtrés en fonction de leur type. Si désactivé, le filtre par défaut est réglé sur ['normal', 'panel', 'popup'], avec des types de fenêtres 'panel' qui sont limités aux propres fenêtres de l'extension.

Valeur retournée

Une Promise qui sera remplie avec un ensemble d'objets windows.Window, représentant toutes les fenêtres qui correspondent aux critères donnés. Si une erreur survient, la promesse sera rejetée avec un message d'erreur.

Compatibilité des navigateurs

BCD tables only load in the browser

Exemples

Enregistrez les URL pour les onglets sur toutes les fenêtres de navigateur "normales". Notez que vous aurez besoin de permission "onglets" pour accéder aux URLs des onglets.

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

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

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

Example extensions

Note :

Cette API est basée sur l'API de Chromnium chrome.windows. Cette documentation provient de windows.json dans le code de Chromium.

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States.