windows.create()
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 Promise
.
Syntaxe
var creating = browser.windows.create(
createData, // optional object
);
Paramètres
createData
Facultatif-
object
.allowScriptsToClose
Facultatif-
boolean
. Lorsque la fenêtre est ouverte, elle contiendra un seul onglet, ou plus d'un onglet siurl
est donnée et comprendra un tableau contenant plus d'une URL. Par défaut, les scripts s'exécutant dans ces pages ne sont pas autorisés à fermer leur onglet en utilisantwindow.close()
. Si vous incluezallowScriptsToClose
et le mettez àtrue
, alors ce comportement par défaut est modifié, de sorte que les scripts peuvent fermer leurs onglets. Notez cela :- Ceci ne s'applique qu'aux onglets qui ont été ouverts lors de la création de la fenêtre. Si l'utilisateur ouvre plus d'onglets dans cette fenêtre, les scripts ne pourront pas fermer ces nouveaux onglets.
- Si la ou les url(s) donnée(s) dans
url
pointent vers les pages d'extension (c'est-à-dire qu'il s'agit de pages incluses avec cette extension et chargées avec le protocole "moz-extension:") alors les scripts sont par défaut autorisés à fermer ces onglets.
-
integer
. S'il est présent, spécifie leCookieStoreId
pour tous les onglets qui seront créés lorsque la fenêtre sera ouverte. focused
Facultatif-
boolean
. Si c'est vrai, la nouvelle fenêtre sera concentrée. Si c'estfalse
, 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 esttrue
. height
Facultatif-
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. incognito
Facultatif-
boolean
. Que la nouvelle fenêtre soit une fenêtre privée. Notez que si vous spécifiezincognito
ettabId
, c'est-à-dire, vous ne pouvez pas déplacer un onglet privé dans une fenêtre privée. left
Facultatif-
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. (Dans Firefox, cette valeur est actuellement ignorée pour les popups (bug 1271047) mais peut être définie en utilisant browser.windows.update().) state
Facultatif-
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. tabId
Facultatif-
integer
. Si inclus, déplace un onglet de l'ID spécifié d'une fenêtre existante dans la nouvelle fenêtre. titlePreface
Facultatif-
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). top
Facultatif-
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. (Dans Firefox, cette valeur est actuellement ignorée pour les popups (bug 1271047) mais peut être définie en utilisant browser.windows.update().) type
Facultatif-
Une valeur
windows.CreateType
spécifie le type de fenêtre du navigateur à créer. Spécifié lepanneau
ou lafenêtre contextuelle
ici pour ouvrir une fenêtre sans l'interface utilisateur (barre d'adresse, barre d'outils, etc). url
Facultatif-
string
ouarray
ofstring
s. 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 à direhttp://www.google.com
, et nonwww.google.com
). Les URL relatives seront relatives à la page actuelle dans l'extension. Par défaut, la nouvelle page d'onglet. width
Facultatif-
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 Promise
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.
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
Compatibilité des navigateurs
BCD tables only load in the browser
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.