Beschreibung
Verwenden Sie die chrome.app.window API, um Fenster zu erstellen. Fenster haben einen optionalen Rahmen mit Titelleiste und Steuerelementen für die Größe. Sie sind mit keinem Chrome-Browserfenster verknüpft. Ein Beispiel für diese Optionen finden Sie im Beispiel für den Fensterstatus.
Typen
AppWindow
Attribute
-
contentWindow
Fenster
Das JavaScript-Objekt „window“ für das erstellte untergeordnete Element.
-
id
String
Die ID, mit der das Fenster erstellt wurde.
-
innerBounds
Die Position, Größe und Einschränkungen des Fensterinhalts, ohne Fensterdekorationen. Diese Property ist neu in Chrome 36.
-
outerBounds
Die Position, Größe und Einschränkungen des Fensters, einschließlich Fensterdekorationen wie Titelleiste und Rahmen. Diese Property ist neu in Chrome 36.
-
clearAttention
void
Achten Sie auf das Fenster.
Die Funktion
clearAttentionsieht so aus:() => {...} -
Schließen
void
Schließen Sie das Fenster.
Die Funktion
closesieht so aus:() => {...} -
drawAttention
void
Lenken Sie die Aufmerksamkeit auf das Fenster.
Die Funktion
drawAttentionsieht so aus:() => {...} -
Fokus
void
Fokussieren Sie das Fenster.
Die Funktion
focussieht so aus:() => {...} -
Vollbild
void
Das Fenster wird im Vollbildmodus angezeigt.
Der Nutzer kann das Fenster durch Drücken der Esc-Taste wiederherstellen. Eine Anwendung kann verhindern, dass der Vollbildmodus durch Drücken der ESC-Taste verlassen wird, indem sie die Berechtigung
app.window.fullscreen.overrideEscanfordert und das Ereignis durch Aufrufen von .preventDefault() in den Handlern „keydown“ und „keyup“ abbricht, wie hier gezeigt:window.onkeydown = window.onkeyup = function(e) { if (e.keyCode == 27 /* ESC *\/) { e.preventDefault(); } };Hinweis:
window.fullscreen()führt dazu, dass das gesamte Fenster im Vollbildmodus angezeigt wird. Es ist keine Nutzergeste erforderlich. Die HTML5-Vollbild-API kann auch verwendet werden, um den Vollbildmodus zu aktivieren. Weitere Informationen finden Sie unter Web APIs.Die Funktion
fullscreensieht so aus:() => {...} -
getBounds
void
EingestelltVerwenden Sie „innerBounds“ oder „outerBounds“.
Ruft die inneren Grenzen des Fensters als
ContentBounds-Objekt ab.Die Funktion
getBoundssieht so aus:() => {...}-
Gibt zurück
-
-
Ausblenden
void
Fenster ausblenden Wenn das Fenster bereits ausgeblendet ist, passiert nichts.
Die Funktion
hidesieht so aus:() => {...} -
isAlwaysOnTop
void
Ist das Fenster immer im Vordergrund?
Die Funktion
isAlwaysOnTopsieht so aus:() => {...}-
Gibt zurück
boolean
-
-
isFullscreen
void
Ist das Fenster im Vollbildmodus? Dies ist der Fall, wenn das Fenster im Vollbildmodus erstellt oder über die
AppWindow- oder HTML5-Vollbild-APIs in den Vollbildmodus versetzt wurde.Die Funktion
isFullscreensieht so aus:() => {...}-
Gibt zurück
boolean
-
-
isMaximized
void
Ist das Fenster maximiert?
Die Funktion
isMaximizedsieht so aus:() => {...}-
Gibt zurück
boolean
-
-
isMinimized
void
Ist das Fenster minimiert?
Die Funktion
isMinimizedsieht so aus:() => {...}-
Gibt zurück
boolean
-
-
maximieren
void
Maximieren Sie das Fenster.
Die Funktion
maximizesieht so aus:() => {...} -
minimieren
void
Fenster minimieren
Die Funktion
minimizesieht so aus:() => {...} -
moveTo
void
Seit Chrome 43 veraltetVerwenden Sie „outerBounds“.
Verschiebe das Fenster an die Position (
left,top).Die Funktion
moveTosieht so aus:(left: number, top: number) => {...}
-
links
Zahl
-
oben
Zahl
-
-
resizeTo
void
Seit Chrome 43 veraltetVerwenden Sie „outerBounds“.
Ändern Sie die Größe des Fensters auf
width×heightPixel.Die Funktion
resizeTosieht so aus:(width: number, height: number) => {...}
-
Breite
Zahl
-
Höhe
Zahl
-
-
Wiederherstellen
void
Fenster wiederherstellen, um den maximierten, minimierten oder Vollbildmodus zu beenden.
Die Funktion
restoresieht so aus:() => {...} -
setAlwaysOnTop
void
Legen Sie fest, ob das Fenster über den meisten anderen Fenstern bleiben soll. Erfordert die Berechtigung
alwaysOnTopWindows.Die Funktion
setAlwaysOnTopsieht so aus:(alwaysOnTop: boolean) => {...}
-
alwaysOnTop
boolean
-
-
setBounds
void
EingestelltVerwenden Sie „innerBounds“ oder „outerBounds“.
Legt die inneren Grenzen des Fensters fest.
Die Funktion
setBoundssieht so aus:(bounds: ContentBounds) => {...}
-
bounds
-
-
setVisibleOnAllWorkspaces
void
Legen Sie fest, ob das Fenster in allen Arbeitsbereichen sichtbar ist. (Nur für Plattformen, die dies unterstützen.)
Die Funktion
setVisibleOnAllWorkspacessieht so aus:(alwaysVisible: boolean) => {...}
-
alwaysVisible
boolean
-
-
Einblenden
void
Fenster anzeigen Wenn das Fenster bereits sichtbar ist, passiert nichts. Das Fenster wird fokussiert, wenn
focusedauf „true“ gesetzt oder weggelassen wird.Die Funktion
showsieht so aus:(focused?: boolean) => {...}
-
Fokussiert
Boolesch optional
-
Bounds
Attribute
-
Höhe
Zahl
Mit dieser Property kann die aktuelle Höhe des Inhalts oder Fensters gelesen oder geschrieben werden.
-
links
Zahl
Mit dieser Eigenschaft kann die aktuelle X-Koordinate des Inhalts oder Fensters gelesen oder geschrieben werden.
-
maxHeight
number optional
Mit dieser Eigenschaft kann die aktuelle maximale Höhe des Inhalts oder Fensters gelesen oder geschrieben werden. Der Wert
nullbedeutet „nicht angegeben“. -
maxWidth
number optional
Mit dieser Eigenschaft kann die aktuelle maximale Breite des Inhalts oder Fensters gelesen oder geschrieben werden. Der Wert
nullbedeutet „nicht angegeben“. -
minHeight
number optional
Mit dieser Property kann die aktuelle Mindesthöhe des Inhalts oder Fensters gelesen oder geschrieben werden. Der Wert
nullbedeutet „nicht angegeben“. -
minWidth
number optional
Mit dieser Property kann die aktuelle Mindestbreite des Inhalts oder Fensters gelesen oder geschrieben werden. Der Wert
nullbedeutet „nicht angegeben“. -
oben
Zahl
Mit dieser Eigenschaft kann die aktuelle Y-Koordinate des Inhalts oder Fensters gelesen oder geschrieben werden.
-
Breite
Zahl
Mit dieser Eigenschaft kann die aktuelle Breite des Inhalts oder Fensters gelesen oder geschrieben werden.
-
setMaximumSize
void
Legen Sie die maximale Größe des Inhalts oder Fensters fest. Die maximale Breite oder Höhe kann auf
nullfestgelegt werden, um die Einschränkung aufzuheben. Der Wertundefinedlässt eine Einschränkung unverändert.Die Funktion
setMaximumSizesieht so aus:(maxWidth: number, maxHeight: number) => {...}
-
maxWidth
Zahl
-
maxHeight
Zahl
-
-
setMinimumSize
void
Legen Sie die Mindestgröße des Inhalts oder Fensters fest. Die Mindestbreite oder -höhe kann auf
nullfestgelegt werden, um die Einschränkung zu entfernen. Der Wertundefinedlässt eine Einschränkung unverändert.Die Funktion
setMinimumSizesieht so aus:(minWidth: number, minHeight: number) => {...}
-
minWidth
Zahl
-
minHeight
Zahl
-
-
setPosition
void
Legen Sie die linke und obere Position des Inhalts oder Fensters fest.
Die Funktion
setPositionsieht so aus:(left: number, top: number) => {...}
-
links
Zahl
-
oben
Zahl
-
-
setSize
void
Legen Sie die Breite und Höhe des Inhalts oder Fensters fest.
Die Funktion
setSizesieht so aus:(width: number, height: number) => {...}
-
Breite
Zahl
-
Höhe
Zahl
-
BoundsSpecification
Attribute
-
Höhe
number optional
Die Höhe des Inhalts oder Fensters.
-
links
number optional
Die X-Koordinate des Inhalts oder Fensters.
-
maxHeight
number optional
Die maximale Höhe des Inhalts oder Fensters.
-
maxWidth
number optional
Die maximale Breite des Inhalts oder Fensters.
-
minHeight
number optional
Die Mindesthöhe des Inhalts oder Fensters.
-
minWidth
number optional
Die Mindestbreite des Inhalts oder Fensters.
-
oben
number optional
Die Y-Koordinate des Inhalts oder Fensters.
-
Breite
number optional
Die Breite des Inhalts oder Fensters.
ContentBounds
Attribute
-
Höhe
number optional
-
links
number optional
-
oben
number optional
-
Breite
number optional
CreateWindowOptions
Attribute
-
alwaysOnTop
Boolesch optional
Wenn „true“, bleibt das Fenster über den meisten anderen Fenstern. Wenn mehrere Fenster dieser Art vorhanden sind, wird das aktuell fokussierte Fenster im Vordergrund angezeigt. Erfordert die Berechtigung
alwaysOnTopWindows. Die Standardeinstellung ist "false".Rufen Sie
setAlwaysOnTop()für das Fenster auf, um diese Eigenschaft nach dem Erstellen zu ändern. -
bounds
ContentBounds optional
EingestelltVerwenden Sie „innerBounds“ oder „outerBounds“.
Größe und Position des Inhalts im Fenster (ohne Titelleiste). Wenn auch eine ID angegeben ist und zuvor ein Fenster mit einer übereinstimmenden ID angezeigt wurde, werden stattdessen die gespeicherten Grenzen des Fensters verwendet.
-
Fokussiert
Boolesch optional
Wenn „true“, wird das Fenster beim Erstellen fokussiert. Der Standardwert ist „true“.
-
Bettgestell
string | FrameOptions optional
Frame-Typ:
noneoderchrome(Standard istchrome). Beinonekann die CSS-Property-webkit-app-regionverwendet werden, um das Fenster der App ziehbar zu machen. Mit-webkit-app-region: dragkönnen Regionen als ziehbar markiert werden. Mitno-dragkann dieser Stil für verschachtelte Elemente deaktiviert werden.Die Verwendung von
FrameOptionsist neu in M36. -
Boolesch optional
Wenn „true“, wird das Fenster im ausgeblendeten Zustand erstellt. Rufen Sie „show()“ für das Fenster auf, um es nach der Erstellung anzuzeigen. Die Standardeinstellung ist "false".
-
Symbol
String optional
Chrome 54 oder höherURL des Fenstersymbols. Ein Fenster kann ein eigenes Symbol haben, wenn „showInShelf“ auf „true“ gesetzt ist. Die URL sollte eine globale oder eine lokale URL der Erweiterung sein.
-
id
String optional
ID zur Identifizierung des Fensters. Damit werden die Größe und Position des Fensters gespeichert und diese Geometrie wird wiederhergestellt, wenn später ein Fenster mit derselben ID geöffnet wird. Wenn ein Fenster mit einer bestimmten ID erstellt wird, während bereits ein anderes Fenster mit derselben ID vorhanden ist, wird das aktuell geöffnete Fenster fokussiert, anstatt ein neues Fenster zu erstellen.
-
innerBounds
BoundsSpecification optional
Wird verwendet, um die ursprüngliche Position, die ursprüngliche Größe und die Einschränkungen des Fensterinhalts (ohne Fensterdekorationen) anzugeben. Wenn auch ein
idangegeben ist und zuvor ein Fenster mit einem übereinstimmendenidangezeigt wurde, werden stattdessen die gespeicherten Grenzen verwendet.Der Abstand zwischen den inneren und äußeren Grenzen wird vom Betriebssystem bestimmt. Wenn Sie also für
innerBoundsundouterBoundsdieselbe Begrenzungseigenschaft festlegen, wird ein Fehler ausgegeben.Diese Property ist neu in Chrome 36.
-
maxHeight
number optional
EingestelltVerwenden Sie „innerBounds“ oder „outerBounds“.
Maximale Höhe des Fensters.
-
maxWidth
number optional
EingestelltVerwenden Sie „innerBounds“ oder „outerBounds“.
Maximale Breite des Fensters.
-
minHeight
number optional
EingestelltVerwenden Sie „innerBounds“ oder „outerBounds“.
Mindesthöhe des Fensters.
-
minWidth
number optional
EingestelltVerwenden Sie „innerBounds“ oder „outerBounds“.
Mindestbreite des Fensters.
-
outerBounds
BoundsSpecification optional
Wird verwendet, um die anfängliche Position, die anfängliche Größe und die Einschränkungen des Fensters anzugeben (einschließlich Fensterdekorationen wie Titelleiste und Rahmen). Wenn auch ein
idangegeben ist und zuvor ein Fenster mit einem übereinstimmendenidangezeigt wurde, werden stattdessen die gespeicherten Grenzen verwendet.Der Abstand zwischen den inneren und äußeren Grenzen wird vom Betriebssystem bestimmt. Wenn Sie also für
innerBoundsundouterBoundsdieselbe Begrenzungseigenschaft festlegen, wird ein Fehler ausgegeben.Diese Property ist neu in Chrome 36.
-
Größe anpassbar
Boolesch optional
Wenn „true“ festgelegt ist, kann der Nutzer die Größe des Fensters anpassen. Der Standardwert ist „true“.
-
showInShelf
Boolesch optional
Chrome 54 oder höherWenn „true“, hat das Fenster ein eigenes Symbol in der Ablage. Andernfalls wird das Fenster in der Ablage mit anderen Fenstern gruppiert, die mit der App verknüpft sind. Standardmäßig „false“. Wenn „showInShelf“ auf „true“ gesetzt ist, müssen Sie eine ID für das Fenster angeben.
-
Singleton
Boolesch optional
EingestelltMehrere Fenster mit derselben ID werden nicht mehr unterstützt.
Wenn Sie eine ID für das Fenster angeben, wird das Fenster standardmäßig nur erstellt, wenn noch kein anderes Fenster mit derselben ID vorhanden ist. Wenn bereits ein Fenster mit derselben ID vorhanden ist, wird stattdessen dieses Fenster aktiviert. Wenn Sie mehrere Fenster mit derselben ID erstellen möchten, können Sie diese Property auf „false“ setzen.
-
Bundesstaat
State optional
Der Anfangszustand des Fensters, sodass es bereits im Vollbildmodus, maximiert oder minimiert erstellt werden kann. Die Standardeinstellung ist „normal“.
-
Typ
WindowType optional
Chrome 45 und höher Eingestellt seit Chrome 69Alle App-Fenster verwenden den Fenstertyp „Shell“
Typ des zu erstellenden Fensters.
-
visibleOnAllWorkspaces
Boolesch optional
Wenn „true“ und von der Plattform unterstützt, ist das Fenster in allen Arbeitsbereichen sichtbar.
FrameOptions
Attribute
-
activeColor
String optional
Ermöglicht das Festlegen der Rahmenfarbe des Fensters, wenn es aktiv ist. Die Rahmenfarbe ist nur verfügbar, wenn der Rahmentyp
chromeist.Die Rahmenfarbe ist nur verfügbar, wenn der Rahmentyp
chromeist.Die Farbgebung von Frames ist neu in Chrome 36.
-
Farbe
String optional
Ermöglicht das Festlegen der Rahmenfarbe. Die Rahmenfarbe ist nur verfügbar, wenn der Rahmentyp
chromeist.Die Farbgebung des Frames ist neu in Chrome 36.
-
inactiveColor
String optional
Ermöglicht, dass die Rahmenfarbe des Fensters im inaktiven Zustand anders als im aktiven Zustand festgelegt wird. Die Rahmenfarbe ist nur verfügbar, wenn der Rahmentyp
chromeist.inactiveColormuss in Verbindung mitcolorverwendet werden.Die Farbgebung von Frames ist neu in Chrome 36.
-
Typ
String optional
Frame-Typ:
noneoderchrome(Standardeinstellung istchrome).Unter
nonekann die CSS-Eigenschaft-webkit-app-regionverwendet werden, um das Fenster der App ziehbar zu machen.Mit
-webkit-app-region: dragkönnen Regionen als ziehbar markiert werden. Mitno-dragkann dieser Stil für verschachtelte Elemente deaktiviert werden.
State
Status eines Fensters: normal, Vollbild, maximiert, minimiert.
Enum
"normal"
"fullscreen"
"maximized"
"minimized"
WindowType
Gibt den Typ des zu erstellenden Fensters an.
Enum
"shell"
Standardfenstertyp.
"panel"
Vom Betriebssystem verwaltetes Fenster (nicht mehr unterstützt).
Methoden
canSetVisibleOnAllWorkspaces()
chrome.app.window.canSetVisibleOnAllWorkspaces(): boolean
Gibt an, ob die aktuelle Plattform die Anzeige von Fenstern in allen Arbeitsbereichen unterstützt.
Ausgabe
-
boolean
create()
chrome.app.window.create(
url: string,
options?: CreateWindowOptions,
callback?: function,
): Promise<AppWindow>
Die Größe und Position eines Fensters kann auf verschiedene Arten angegeben werden. Die einfachste Option ist, überhaupt nichts anzugeben. In diesem Fall werden eine Standardgröße und eine plattformabhängige Position verwendet.
Verwenden Sie die Properties innerBounds oder outerBounds, um die Position, Größe und Einschränkungen des Fensters festzulegen. Innere Grenzen enthalten keine Fensterdekorationen. Die äußeren Grenzen umfassen die Titelleiste und den Rahmen des Fensters. Der Abstand zwischen den inneren und äußeren Grenzen wird vom Betriebssystem bestimmt. Daher wird das Festlegen desselben Attributs für die inneren und äußeren Grenzen als Fehler betrachtet (z. B. das Festlegen von innerBounds.left und outerBounds.left).
Wenn Sie möchten, dass sich das System die Positionen von Fenstern automatisch merkt, können Sie ihnen IDs zuweisen. Wenn ein Fenster eine ID hat, wird diese ID verwendet, um sich die Größe und Position des Fensters zu merken, wenn es verschoben oder seine Größe geändert wird. Diese Größe und Position werden dann beim nächsten Öffnen eines Fensters mit derselben ID anstelle der angegebenen Grenzen verwendet. Wenn Sie ein Fenster mit einer ID an einem anderen Ort als dem gespeicherten Standardort öffnen müssen, können Sie es ausgeblendet erstellen, an den gewünschten Ort verschieben und dann einblenden.
Parameter
-
URL
String
-
Optionen
CreateWindowOptions optional
-
callback
function optional
Der Parameter
callbacksieht so aus:(createdWindow: AppWindow) => void
-
createdWindow
-
Ausgabe
-
Promise<AppWindow>
Chrome 117 oder höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
current()
chrome.app.window.current(): AppWindow | undefined
Gibt ein AppWindow-Objekt für den aktuellen Skriptkontext zurück (z. B. JavaScript-Objekt „window“). Dies kann auch für ein Handle für einen Skriptkontext für eine andere Seite aufgerufen werden, z. B. otherWindow.chrome.app.window.current().
Ausgabe
-
AppWindow | undefined
get()
chrome.app.window.get(
id: string,
): AppWindow | undefined
Ruft ein AppWindow mit der angegebenen ID ab. Wenn kein Fenster mit der angegebenen ID vorhanden ist, wird „null“ zurückgegeben. Diese Methode ist neu in Chrome 33.
Parameter
-
id
String
Ausgabe
-
AppWindow | undefined
getAll()
chrome.app.window.getAll(): AppWindow[]
Ruft ein Array aller derzeit erstellten App-Fenster ab. Diese Methode ist neu in Chrome 33.
Ausgabe
Ereignisse
onBoundsChanged
chrome.app.window.onBoundsChanged.addListener(
callback: function,
)
Wird ausgelöst, wenn die Größe des Fensters geändert wird.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:() => void
onClosed
chrome.app.window.onClosed.addListener(
callback: function,
)
Wird ausgelöst, wenn das Fenster geschlossen wird. Hinweis: Dies sollte von einem anderen Fenster als dem geschlossenen Fenster aus abgehört werden, z. B. von der Hintergrundseite. Das liegt daran, dass das Fenster, das geschlossen wird, beim Auslösen des Ereignisses gerade abgebaut wird. Das bedeutet, dass nicht alle APIs im Skriptkontext des Fensters funktionieren.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:() => void
onFullscreened
chrome.app.window.onFullscreened.addListener(
callback: function,
)
Wird ausgelöst, wenn das Fenster im Vollbildmodus angezeigt wird (entweder über die AppWindow- oder die HTML5-APIs).
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:() => void
onMaximized
chrome.app.window.onMaximized.addListener(
callback: function,
)
Wird ausgelöst, wenn das Fenster maximiert wird.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:() => void
onMinimized
chrome.app.window.onMinimized.addListener(
callback: function,
)
Wird ausgelöst, wenn das Fenster minimiert wird.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:() => void
onRestored
chrome.app.window.onRestored.addListener(
callback: function,
)
Wird ausgelöst, wenn das Fenster aus dem minimierten oder maximierten Zustand wiederhergestellt wird.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:() => void