MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

Crée une nouvelle fenêtre.

Lorsque vous créez la fenêtre, vous pouvez :

  • Chargez un ou plusieurs nouveaux onglets dans la fenêtre.
  • Déplacez un onglet d'une fenêtre existante dans la nouvelle fenêtre.
  • Réglez la taille et la position de la fenêtre.
  • Créez une fenêtre de style "panneau" qui, dans ce contexte, désigne une fenêtre sans l'interface utilisateur UI (barre d'adresse, barre d'outils, etc.).
  • Définissez différentes propriétés de la fenêtre, par exemple, qu'elle soit concentrée ou privée.

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

Syntaxe

var creating = browser.windows.create(
  createData            // optional object
)

Paramètres

createDataFacultatif
object.
focusedFacultatif
boolean. Si c'est vrai, la nouvelle fenêtre sera concentrée. Si c'est faux, la nouvelle fenêtre sera ouverte en arrière-plan et la fenêtre actuellement concentrée restera concentrée. Le paramètre par défaut est vrai.
heightFacultatif
integer. Hauteur en pixels de la nouvelle fenêtre, y compris dans une frame. Si elle n'est pas spécifiée, par défaut une hauteur naturel.
incognitoFacultatif
boolean. Que la nouvelle fenêtre soit une fenêtre privée. Notez que si vous spécifiez incognito et tabId, c'est-à-dire, vous ne pouvez pas déplacer un onglet privé dans une fenêtre privée.
leftFacultatif
integer. Nombre de pixels pour positionner la nouvelle fenêtre à partir du bord gauche de l'écran. Si elle n'est pas spécifiée, la nouvelle fenêtre est décalée naturellement à partir de la dernière fenêtre ciblée. Cette valeur est ignorée pour les panneaux.
stateFacultatif
Une valeur windows.WindowState. L'état initial de la fenêtre. Les états minimisés, maximisés et plein écran ne peuvent pas être combinés avec la gauche, le haut, la largeur ou la hauteur.
tabIdFacultatif
integer. Si inclus, déplace un onglet de l'ID spécifié d'une fenêtre existante dans la nouvelle fenêtre.
titlePrefaceFacultatif
string. Utilisez ceci pour ajouter une chaîne au début du titre de la fenêtre du navigateur. Selon le système d'exploitation sous-jacent, cela pourrait ne pas fonctionner sur les fenêtres du navigateur qui n'ont pas de titre (comme  about:blank dans Firefox).
topFacultatif
integer. Le nombre de pixels pour positionner la nouvelle fenêtre à partir du bord supérieur de l'écran. Si elle n'est pas spécifiée, la nouvelle fenêtre est naturellement décalée à partir de la dernière fenêtre ciblée. Cette valeur est ignorée pour les panneaux.
typeFacultatif
Une valeur windows.CreateType spécifie le type de fenêtre du navigateur à créer. Spécifié le panneau ou la fenêtre contextuelle ici pour ouvrir une fenêtre sans l'interface utilisateur (barre d'adresse, barre d'outils, etc).
urlFacultatif
string ou array of strings. Une URL ou un tableau d'URL à ouvrir comme onglets dans une fenêtre. Les URL hautement qualifiées doivent inclure un schéma (c'est à dire http://www.google.com, et non www.google.com). Les URL relatives seront relatives à la page actuelle dans l'extension. Par défaut, la nouvelle page d'onglet.
widthFacultatif
integer. La largeur en pixels de la nouvelle fenêtre, y compris le cadre. Si elle n'est pas spécifiée par défaut, vous avez une largeur naturelle.

Valeur retournée

Une Promesse qui sera remplie avec un objet windows.Window contenant les détails de la nouvelle fenêtre. Cet objet de fenêtre aura toujours son ensemble de propriétés d'onglets, contrairement aux objets de fenêtre retournés à partir de windows.get() et d'API similaires, qui contiennent uniquement des onglets si l'option de remplissage est passée. Si une erreur survient, la promesse sera rejetée avec un message d'erreur.

Compatibilité du navigateur

ChromeEdgeFirefoxFirefox for AndroidOpera
Basic supportYesYes45 1 2NoYes
focusedYesYesNoNoYes
heightYesYes45NoYes
incognitoYesYes45NoYes
leftYesYes45NoYes
state44Yes45No31
tabIdYesNo45NoYes
titlePrefaceNoNo56NoNo
topYesYes45NoYes
typeYesYes45NoYes
urlYesYes45 3NoYes
widthYesYes45NoYes
1. 'url' and 'tabId options can't both be set together.
2. The returned 'Window' object contains the 'tabs' property only from version 52 onwards.
3. 'url' does not accept relative paths.

Exemples

Ouvrir une fenêtre contenant deux onglets :

function onCreated(windowInfo) {
  console.log(`Created window: ${windowInfo.id}`);
}

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

browser.browserAction.onClicked.addListener((tab) => {
  var creating = browser.windows.create({
    url: ["https://developer.mozilla.org",
          "https://addons.mozilla.org"]
  });
  creating.then(onCreated, onError);
});

Ouvrez une fenêtre lorsque l'utilisateur clique sur une action du navigateur et déplacez l'onglet actif actuellement :

function onCreated(windowInfo) {
  console.log(`Created window: ${windowInfo.id}`);
}

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

browser.browserAction.onClicked.addListener((tab) => {
  var creating = browser.windows.create({
    tabId: tab.id
  });
  creating.then(onCreated, onError);
});

Ouvrez une petite fenêtre de style panneau et chargez-en un fichier local:

function onCreated(windowInfo) {
  console.log(`Created window: ${windowInfo.id}`);
}

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

browser.browserAction.onClicked.addListener((tab) => {

  var popupURL = browser.extension.getURL("popup/popup.html");

  var creating = browser.windows.create({
    url: popupURL,
    type: "popup",
    height: 200,
    width: 200
  });
  creating.then(onCreated, onError);

});

Example extensions

Remerciements

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.

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : hellosct1
 Dernière mise à jour par : hellosct1,