windows.create()
Erstellt ein neues Fenster.
Beim Erstellen des Fensters können Sie:
- Einen oder mehrere neue Tabs im Fenster laden.
- Einen Tab von einem bestehenden Fenster in das neue Fenster verschieben.
- Die Größe und Position des Fensters festlegen.
- Ein "Panel"-Stil Fenster erstellen, was in diesem Kontext ein Fenster ohne die normale Browser-Benutzeroberfläche (Adressleiste, Symbolleiste usw.) bedeutet.
- Verschiedene Eigenschaften des Fensters festlegen, wie z.B. ob es fokussiert oder privat ist.
Dies ist eine asynchrone Funktion, die ein Promise
zurückgibt.
Syntax
let creating = browser.windows.create(
createData // optional object
)
Parameter
createData
Optional-
object
.allowScriptsToClose
Optional-
boolean
. Wenn das Fenster geöffnet wird, enthält es einen einzelnen Tab oder mehr als einen Tab, wennurl
angegeben ist und ein Array mit mehr als einer URL enthält. Standardmäßig dürfen Skripte, die auf diesen Seiten ausgeführt werden, ihren Tab nicht mitwindow.close()
schließen. Wenn SieallowScriptsToClose
hinzufügen und auftrue
setzen, wird dieses Standardverhalten geändert, sodass Skripte ihre Tabs schließen können. Beachten Sie, dass:- dies nur für die Tabs gilt, die beim Erstellen des Fensters geöffnet wurden. Wenn der Benutzer weitere Tabs in diesem Fenster öffnet, können Skripte diese neuen Tabs nicht schließen.
- wenn die in
url
angegebenen URLs auf Erweiterungsseiten verweisen (d.h., sie sind Seiten, die mit dieser Erweiterung enthalten und mit dem "moz-extension:"-Protokoll geladen werden), dürfen Skripte diese Tabs standardmäßig schließen.
-
integer
. Wenn vorhanden, gibt denCookieStoreId
für alle Tabs an, die beim Öffnen des Fensters erstellt werden. Weitere Informationen zur Verwendung voncookieStoreId
finden Sie unter Mit kontextuellen Identitäten arbeiten. focused
Optional-
boolean
. Wenntrue
, wird das neue Fenster fokussiert. Wennfalse
, wird das neue Fenster im Hintergrund geöffnet und das derzeit fokussierte Fenster bleibt fokussiert. Standardwert isttrue
. height
Optional-
integer
. Die Höhe in Pixeln des neuen Fensters, einschließlich des Rahmens. Wenn nicht angegeben, wird auf eine natürliche Höhe standardmäßig zurückgesetzt. incognito
Optional-
boolean
. Ob das neue Fenster ein Inkognito- (privates) Fenster sein soll. Beachten Sie, dass, wenn Sieincognito
undtabId
angeben, die ID auf einen privaten Tab verweisen muss — d.h. Sie können keinen nicht-privaten Tab in ein privates Fenster verschieben. left
Optional-
integer
. Die Anzahl der Pixel, um die das neue Fenster von der linken Bildschirmkante positioniert wird. Wenn nicht angegeben, wird das neue Fenster natürlich vom zuletzt fokussierten Fenster versetzt. (In Firefox 108 oder früher fürpanel
oderpopup
Fenstertypen ignoriert; die Positionierung des Fensters mitwindows.update()
könnte als Workaround verwendet werden.) state
Optional-
Ein
windows.WindowState
Wert. Der Anfangszustand des Fensters. Die Zuständeminimized
,maximized
undfullscreen
können nicht mitleft
,top
,width
oderheight
kombiniert werden. tabId
Optional-
integer
. Wenn enthalten, wird ein Tab der angegebenen ID aus einem bestehenden Fenster in das neue Fenster verschoben. titlePreface
Optional-
string
. Verwenden Sie dies, um einen String am Anfang des Browserfenstertitels hinzuzufügen. Abhängig vom zugrunde liegenden Betriebssystem funktioniert dies möglicherweise nicht bei Browserfenstern, die keinen Titel haben (wie z.B. about:blank in Firefox). top
Optional-
integer
. Die Anzahl der Pixel, um die das neue Fenster von der oberen Bildschirmkante positioniert wird. Wenn nicht angegeben, wird das neue Fenster natürlich vom zuletzt fokussierten Fenster versetzt. (In Firefox 108 oder früher fürpanel
oderpopup
Fenstertypen ignoriert; die Positionierung des Fensters mitwindows.update()
könnte als Workaround verwendet werden.) type
Optional-
Ein
windows.CreateType
Wert. Gibt an, welcher Typ von Browserfenster erstellt werden soll. Geben Sie hierpanel
oderpopup
an, um ein Fenster ohne die normale Browser-Benutzeroberfläche (Adressleiste, Symbolleiste usw.) zu öffnen. url
Optional-
string
oderarray
vonstring
s. Eine URL oder ein Array von URLs, die als Tabs im Fenster geöffnet werden sollen. Vollständig qualifizierte URLs müssen ein Schema enthalten (d.h.http://www.google.com
, nichtwww.google.com
). Relative URLs sind relativ zur aktuellen Seite der Erweiterung. Standardwert ist die Neue Tab-Seite. width
Optional-
integer
. Die Breite in Pixeln des neuen Fensters, einschließlich des Rahmens. Wenn nicht angegeben, wird auf eine natürliche Breite standardmäßig zurückgesetzt.
Rückgabewert
Ein Promise
, das mit einem windows.Window
Objekt erfüllt wird, das die Details des neuen Fensters enthält. Dieses Window
Objekt hat immer die Eigenschaft tabs
gesetzt, anders als die Window
Objekte, die von windows.get()
und ähnlichen APIs zurückgegeben werden, die nur tabs
enthalten, wenn die populate
Option übergeben wird. Wenn ein Fehler auftritt, wird das Promise mit einer Fehlermeldung abgelehnt.
Beispiele
Ein Fenster mit zwei Tabs öffnen:
function onCreated(windowInfo) {
console.log(`Created window: ${windowInfo.id}`);
}
function onError(error) {
console.log(`Error: ${error}`);
}
browser.browserAction.onClicked.addListener((tab) => {
let creating = browser.windows.create({
url: ["https://developer.mozilla.org", "https://addons.mozilla.org"],
});
creating.then(onCreated, onError);
});
Ein Fenster öffnen, wenn der Benutzer auf eine Browser-Aktion klickt, und den derzeit aktiven Tab darin verschieben:
function onCreated(windowInfo) {
console.log(`Created window: ${windowInfo.id}`);
}
function onError(error) {
console.log(`Error: ${error}`);
}
browser.browserAction.onClicked.addListener((tab) => {
let creating = browser.windows.create({
tabId: tab.id,
});
creating.then(onCreated, onError);
});
Ein kleines Fenster im Panel-Stil öffnen und eine lokal gepackte Datei darin laden:
function onCreated(windowInfo) {
console.log(`Created window: ${windowInfo.id}`);
}
function onError(error) {
console.log(`Error: ${error}`);
}
browser.browserAction.onClicked.addListener((tab) => {
let popupURL = browser.extension.getURL("popup/popup.html");
let creating = browser.windows.create({
url: popupURL,
type: "popup",
height: 200,
width: 200,
});
creating.then(onCreated, onError);
});
Beispiel-Erweiterungen
Browser-Kompatibilität
BCD tables only load in the browser
Hinweis: Diese API basiert auf Chromiums chrome.windows
API. Diese Dokumentation stammt aus windows.json
im Chromium-Code.