windows.create()
Erzeugt ein neues Fenster.
Wenn Sie das Fenster erstellen, können Sie:
- Einen oder mehrere neue Tabs im Fenster laden.
- Ein Tab aus einem vorhandenen Fenster in das neue Fenster verschieben.
- Die Größe und Position des Fensters festlegen.
- Ein Fenster im „Panel“-Stil 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
createDataOptional-
object.allowScriptsToCloseOptional-
boolean. Wenn das Fenster geöffnet wird, enthält es einen einzigen Tab oder mehr als einen Tab, wennurlangegeben 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 SieallowScriptsToCloseeinschließen und auftruesetzen, 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 in diesem Fenster weitere Tabs öffnet, können Skripte diese neuen Tabs nicht schließen.
- wenn die in
urlangegebenen URLs auf Erweiterungsseiten verweisen (d.h. es sind Seiten, die mit dieser Erweiterung enthalten sind und mit dem „moz-extension:“-Protokoll geladen werden), dann dürfen Skripte standardmäßig diese Tabs schließen.
-
integer. Wenn vorhanden, bestimmt dies dieCookieStoreIdfür alle Tabs, die beim Öffnen des Fensters erstellt werden. Siehe Arbeiten mit kontextuellen Identitäten für weitere Informationen zur Verwendung voncookieStoreId. focusedOptional-
boolean. Wenntrue, wird das neue Fenster fokussiert. Wennfalse, wird das neue Fenster im Hintergrund geöffnet und das derzeit fokussierte Fenster bleibt fokussiert. Standardmäßigtrue. heightOptional-
integer. Die Höhe des neuen Fensters in Pixeln, inklusive Rahmen. Falls nicht angegeben, wird die natürliche Höhe verwendet. incognitoOptional-
boolean. Ob das neue Fenster ein Inkognito- (privates) Fenster sein soll. Beachten Sie, dass, wenn SieincognitoundtabIdangeben, die ID auf einen privaten Tab verweisen muss – das heißt, Sie können keinen nicht-privaten Tab in ein privates Fenster verschieben. leftOptional-
integer. Die Anzahl der Pixel, um das neue Fenster von der linken Kante des Bildschirms zu positionieren. Falls nicht angegeben, wird das neue Fenster natürlich von dem zuletzt fokussierten Fenster versetzt. (Ignoriert in Firefox 108 oder früher fürpaneloderpopupFenstertypen; das Positionieren des Fensters mitwindows.update()könnte hier als Workaround dienen.) stateOptional-
Ein
windows.WindowStateWert. Der Anfangszustand des Fensters. Dieminimized,maximizedundfullscreenZustände können nicht mitleft,top,widthoderheightkombiniert werden. tabIdOptional-
integer. Falls enthalten, verschiebt einen Tab mit der angegebenen ID aus einem vorhandenen Fenster in das neue Fenster. titlePrefaceOptional-
string. Verwenden Sie dies, um dem Titel des Browserfensters eine Zeichenkette voranzustellen. Abhängig vom zugrunde liegenden Betriebssystem, könnte dies bei Browserfenstern, die keinen Titel haben (wie about:blank in Firefox), nicht funktionieren. topOptional-
integer. Die Anzahl der Pixel, um das neue Fenster von der oberen Kante des Bildschirms zu positionieren. Falls nicht angegeben, wird das neue Fenster natürlich von dem zuletzt fokussierten Fenster versetzt. (Ignoriert in Firefox 108 oder früher fürpaneloderpopupFenstertypen; das Positionieren des Fensters mitwindows.update()könnte hier als Workaround dienen.) typeOptional-
Ein
windows.CreateTypeWert. Gibt an, welchen Typ von Browserfenster erstellt werden soll. Geben Sie hierpaneloderpopupan, um ein Fenster ohne die normale Browser-Benutzeroberfläche (Adressleiste, Symbolleiste, usw.) zu öffnen. urlOptional-
stringoderarrayvonstrings. 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 beziehen sich auf die aktuelle Seite innerhalb der Erweiterung. Standardmäßig auf die Neue Tab-Seite. widthOptional-
integer. Die Breite des neuen Fensters in Pixeln, inklusive Rahmen. Falls nicht angegeben, wird die natürliche Breite verwendet.
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 seine tabs-Eigenschaft gesetzt, im Gegensatz zu den Window-Objekten, die von windows.get() und ähnlichen APIs zurückgegeben werden, die nur tabs enthalten, wenn die populate-Option übergeben wird. Bei einem Fehler wird das Promise mit einer Fehlermeldung abgelehnt.
Beispiele
Öffnen Sie ein Fenster mit zwei Tabs:
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);
});
Öffnen Sie ein Fenster, wenn der Benutzer auf eine Browseraktion klickt, und verschieben Sie den derzeit aktiven Tab hinein:
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);
});
Öffnen Sie ein kleines Fenster im Panel-Stil und laden Sie eine lokal paketierte Datei hinein:
function onCreated(windowInfo) {
console.log(`Created window: ${windowInfo.id}`);
}
function onError(error) {
console.log(`Error: ${error}`);
}
browser.browserAction.onClicked.addListener((tab) => {
let popupURL = browser.runtime.getURL("popup/popup.html");
let creating = browser.windows.create({
url: popupURL,
type: "popup",
height: 200,
width: 200,
});
creating.then(onCreated, onError);
});
Beispielerweiterungen
Browser-Kompatibilität
Hinweis:
Diese API basiert auf Chromiums chrome.windows API. Diese Dokumentation ist abgeleitet von windows.json im Chromium-Code.