Beschreibung
Verwenden Sie die chrome.app.window
API, um Fenster zu erstellen. Fenster haben einen optionalen Rahmen mit Titelleiste und Größensteuerelementen. Sie sind mit keinem Chrome-Browserfenster verknüpft. Eine Demonstration dieser 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 Beschränkungen des Fensterinhalts, der keine Fensterdekorationen beinhaltet. Diese Eigenschaft ist neu in Chrome 36.
-
outerBounds
Die Position, Größe und Begrenzungen des Fensters, einschließlich Fenstergestaltungen wie Titelleiste und Frame. Diese Eigenschaft ist neu in Chrome 36.
-
clearAttention
void
Klare Aufmerksamkeit auf das Fenster.
Die Funktion
clearAttention
sieht so aus:() => {...}
-
schließen
void
Schließen Sie das Fenster.
Die Funktion
close
sieht so aus:() => {...}
-
drawAttention
void
Lenken Sie die Aufmerksamkeit auf das Fenster.
Die Funktion
drawAttention
sieht so aus:() => {...}
-
Konzentration
void
Fokussieren Sie das Fenster.
Die Funktion
focus
sieht so aus:() => {...}
-
Vollbild
void
Zeigt das Fenster im Vollbildmodus an.
Der Nutzer kann das Fenster durch Drücken der Esc-Taste wiederherstellen. Eine Anwendung kann verhindern, dass der Vollbildmodus verlassen wird, wenn die Esc-Taste gedrückt wird, indem die Berechtigung
app.window.fullscreen.overrideEsc
angefordert und das Ereignis abgebrochen wird, indem in den Keydown- und Keyup-Handlern .preventDefault() aufgerufen wird, wie hier gezeigt:window.onkeydown = window.onkeyup = function(e) { if (e.keyCode == 27 /* ESC *\/) { e.preventDefault(); } };
Hinweis: Mit
window.fullscreen()
wird das gesamte Fenster im Vollbildmodus angezeigt. Eine Nutzergeste ist dafür nicht erforderlich. Die HTML5 Fullscreen API kann auch verwendet werden, um in den Vollbildmodus zu wechseln. Weitere Informationen finden Sie unter Web-APIs.Die Funktion
fullscreen
sieht so aus:() => {...}
-
getBounds
void
EingestelltVerwenden Sie „innerBounds“ oder „outerBounds“.
Rufen Sie die inneren Begrenzungen des Fensters als
ContentBounds
-Objekt ab.Die Funktion
getBounds
sieht so aus:() => {...}
-
Gibt zurück
-
-
ausblenden
void
Fenster ausblenden. Nichts, wenn das Fenster bereits ausgeblendet ist
Die Funktion
hide
sieht so aus:() => {...}
-
isAlwaysOnTop
void
Ist das Fenster immer oben?
Die Funktion
isAlwaysOnTop
sieht so aus:() => {...}
-
Gibt zurück
boolean
-
-
isFullscreen
void
Wird das Fenster im Vollbildmodus angezeigt? Dies ist der Fall, wenn das Fenster über die
AppWindow
- oder HTML5-Vollbild-API in den Vollbildmodus geändert wurde.Die Funktion
isFullscreen
sieht so aus:() => {...}
-
Gibt zurück
boolean
-
-
isMaximized
void
Wurde das Fenster maximiert?
Die Funktion
isMaximized
sieht so aus:() => {...}
-
Gibt zurück
boolean
-
-
isMinimized
void
Ist das Fenster minimiert?
Die Funktion
isMinimized
sieht so aus:() => {...}
-
Gibt zurück
boolean
-
-
maximieren
void
Maximieren Sie das Fenster.
Die Funktion
maximize
sieht so aus:() => {...}
-
minimieren
void
Minimieren Sie das Fenster.
Die Funktion
minimize
sieht so aus:() => {...}
-
moveTo
void
Seit Chrome 43 eingestelltVerwenden Sie „outerBounds“.
Verschieben Sie das Fenster an die Position (
left
,top
).Die Funktion
moveTo
sieht so aus:(left: number, top: number) => {...}
-
links
Zahl
-
oben
Zahl
-
-
resizeTo
void
Seit Chrome 43 eingestelltVerwenden Sie „outerBounds“.
Passen Sie die Größe des Fensters auf
width
xheight
Pixel an.Die Funktion
resizeTo
sieht so aus:(width: number, height: number) => {...}
-
Breite
Zahl
-
Höhe
Zahl
-
-
Wiederherstellen
void
Das Fenster lässt sich im maximierten oder minimierten oder im Vollbildmodus wiederherstellen.
Die Funktion
restore
sieht so aus:() => {...}
-
setAlwaysOnTop
void
Legen Sie fest, ob das Fenster über den meisten anderen Fenstern bleiben soll. Erfordert die Berechtigung
alwaysOnTopWindows
.Die Funktion
setAlwaysOnTop
sieht so aus:(alwaysOnTop: boolean) => {...}
-
alwaysOnTop
boolean
-
-
setBounds
void
EingestelltVerwenden Sie „innerBounds“ oder „outerBounds“.
Legen Sie die inneren Begrenzungen des Fensters fest.
Die Funktion
setBounds
sieht so aus:(bounds: ContentBounds) => {...}
-
Grenzen
-
-
setVisibleOnAllWorkspaces
void
Legen Sie fest, ob das Fenster in allen Arbeitsbereichen sichtbar sein soll. (Nur für Plattformen, die dies unterstützen.)
Die Funktion
setVisibleOnAllWorkspaces
sieht so aus:(alwaysVisible: boolean) => {...}
-
alwaysVisible
boolean
-
-
Einblenden
void
Fenster anzeigen Nichts, wenn das Fenster bereits sichtbar ist Fokus auf das Fenster verschieben, wenn
focused
auf „true“ gesetzt oder weggelassen wurde.Die Funktion
show
sieht so aus:(focused?: boolean) => {...}
-
Fokussiert
Boolescher Wert optional
-
Bounds
Attribute
-
Höhe
Zahl
Diese Eigenschaft kann verwendet werden, um die aktuelle Höhe des Inhalts oder Fensters zu lesen oder zu schreiben.
-
links
Zahl
Diese Eigenschaft kann verwendet werden, um die aktuelle X-Koordinate des Inhalts oder Fensters zu lesen oder zu schreiben.
-
maxHeight
Nummer optional
Diese Eigenschaft kann verwendet werden, um die aktuelle maximale Höhe des Inhalts oder Fensters zu lesen oder zu schreiben. Der Wert
null
steht für „nicht angegeben“. -
maxWidth
Nummer optional
Diese Eigenschaft kann verwendet werden, um die aktuelle maximale Breite des Inhalts oder Fensters zu lesen oder zu schreiben. Der Wert
null
steht für „nicht angegeben“. -
minHeight
Nummer optional
Diese Eigenschaft kann verwendet werden, um die aktuelle Mindesthöhe des Inhalts oder Fensters zu lesen oder zu schreiben. Der Wert
null
steht für „nicht angegeben“. -
minWidth
Nummer optional
Diese Eigenschaft kann verwendet werden, um die aktuelle Mindestbreite des Inhalts oder Fensters zu lesen oder zu schreiben. Der Wert
null
steht für „nicht angegeben“. -
oben
Zahl
Diese Eigenschaft kann verwendet werden, um die aktuelle Y-Koordinate des Inhalts oder Fensters zu lesen oder zu schreiben.
-
Breite
Zahl
Diese Eigenschaft kann verwendet werden, um die aktuelle Breite des Inhalts oder Fensters zu lesen oder zu schreiben.
-
setMaximumSize
void
Legen Sie die maximalen Größenbeschränkungen des Inhalts oder Fensters fest. Die maximale Breite oder Höhe kann auf
null
festgelegt werden, um die Einschränkung zu entfernen. Der Wertundefined
lässt eine Einschränkung unverändert.Die Funktion
setMaximumSize
sieht so aus:(maxWidth: number, maxHeight: number) => {...}
-
maxWidth
Zahl
-
maxHeight
Zahl
-
-
setMinimumSize
void
Legen Sie die minimalen Größenbeschränkungen des Inhalts oder Fensters fest. Die Mindestbreite oder -höhe kann auf
null
festgelegt werden, um die Einschränkung zu entfernen. Der Wertundefined
lässt eine Einschränkung unverändert.Die Funktion
setMinimumSize
sieht 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
setPosition
sieht 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
setSize
sieht so aus:(width: number, height: number) => {...}
-
Breite
Zahl
-
Höhe
Zahl
-
BoundsSpecification
Attribute
-
Höhe
Nummer optional
Die Höhe des Inhalts oder Fensters.
-
links
Nummer optional
Die X-Koordinate des Inhalts oder Fensters.
-
maxHeight
Nummer optional
Die maximale Höhe des Inhalts oder Fensters.
-
maxWidth
Nummer optional
Die maximale Breite des Inhalts oder Fensters.
-
minHeight
Nummer optional
Die Mindesthöhe des Inhalts oder Fensters.
-
minWidth
Nummer optional
Die Mindestbreite des Inhalts oder Fensters.
-
oben
Nummer optional
Die Y-Koordinate des Inhalts oder Fensters.
-
Breite
Nummer optional
Die Breite des Inhalts oder Fensters.
ContentBounds
Attribute
-
Höhe
Nummer optional
-
links
Nummer optional
-
oben
Nummer optional
-
Breite
Nummer optional
CreateWindowOptions
Attribute
-
alwaysOnTop
Boolescher Wert optional
Falls wahr, bleibt das Fenster über den meisten anderen Fenstern. Wenn mehrere Fenster dieser Art vorhanden sind, befindet sich das aktuell fokussierte Fenster im Vordergrund. Erfordert die Berechtigung
alwaysOnTopWindows
. Die Standardeinstellung ist "false".Rufen Sie im Fenster
setAlwaysOnTop()
auf, um diese Eigenschaft nach dem Erstellen zu ändern. -
Grenzen
ContentBounds optional
EingestelltVerwenden Sie „innerBounds“ oder „outerBounds“.
Größe und Position des Inhalts im Fenster (ohne Titelleiste). Wenn auch eine ID angegeben wurde und zuvor ein Fenster mit einer übereinstimmenden ID angezeigt wurde, werden stattdessen die gespeicherten Grenzen des Fensters verwendet.
-
Fokussiert
Boolescher Wert optional
Wenn „true“ festgelegt ist, wird das Fenster beim Erstellen fokussiert. Der Standardwert ist „true“.
-
Frame
String | FrameOptions optional
Frametyp:
none
oderchrome
(Standardwert istchrome
). Fürnone
kann die CSS-Eigenschaft-webkit-app-region
verwendet werden, um Ziehbarkeit auf das App-Fenster anzuwenden. Mit-webkit-app-region: drag
können Bereiche als ziehbar markiert werden. Mitno-drag
kann dieser Stil bei verschachtelten Elementen deaktiviert werden.Die Verwendung von
FrameOptions
ist in M36 neu. -
Boolescher Wert optional
Falls wahr, wird das Fenster im ausgeblendeten Zustand erstellt. Rufen Sie show() für das Fenster auf, um es nach dem Erstellen anzuzeigen. Die Standardeinstellung ist "false".
-
Symbol
String optional
Chrome 54 und 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 Erweiterungs-URL sein.
-
id
String optional
ID zur Identifizierung des Fensters. Dadurch werden Größe und Position des Fensters gespeichert und die Geometrie wiederhergestellt, wenn später ein Fenster mit derselben ID geöffnet wird. Wenn ein Fenster mit einer bestimmten ID erstellt wird, während ein anderes Fenster mit derselben ID bereits existiert, wird das aktuell geöffnete Fenster hervorgehoben, anstatt ein neues Fenster zu erstellen.
-
innerBounds
BoundsSpecification optional
Wird verwendet, um die Anfangsposition, Anfangsgröße und Begrenzungen des Fensterinhalts anzugeben (ausgenommen Fenstergestaltungen). Wenn auch ein
id
angegeben ist und zuvor ein Fenster mit einer übereinstimmendenid
angezeigt wurde, werden stattdessen die gespeicherten Grenzen verwendet.Beachten Sie, dass der Abstand zwischen den inneren und äußeren Grenzen vom Betriebssystem bestimmt wird. Daher führt das Festlegen derselben bounds-Eigenschaft für
innerBounds
undouterBounds
zu einem Fehler.Diese Eigenschaft ist neu in Chrome 36.
-
maxHeight
Nummer optional
EingestelltVerwenden Sie „innerBounds“ oder „outerBounds“.
Maximale Höhe des Fensters.
-
maxWidth
Nummer optional
EingestelltVerwenden Sie „innerBounds“ oder „outerBounds“.
Maximale Breite des Fensters.
-
minHeight
Nummer optional
EingestelltVerwenden Sie „innerBounds“ oder „outerBounds“.
Mindesthöhe des Fensters.
-
minWidth
Nummer optional
EingestelltVerwenden Sie „innerBounds“ oder „outerBounds“.
Die Mindestbreite des Fensters.
-
outerBounds
BoundsSpecification optional
Wird verwendet, um die Anfangsposition, Anfangsgröße und Begrenzungen des Fensters (einschließlich Fensterdekorationen wie Titelleiste und Frame) anzugeben. Wenn auch ein
id
angegeben ist und zuvor ein Fenster mit einer übereinstimmendenid
angezeigt wurde, werden stattdessen die gespeicherten Grenzen verwendet.Beachten Sie, dass der Abstand zwischen den inneren und äußeren Grenzen vom Betriebssystem bestimmt wird. Daher führt das Festlegen derselben bounds-Eigenschaft für
innerBounds
undouterBounds
zu einem Fehler.Diese Eigenschaft ist neu in Chrome 36.
-
resizable
Boolescher Wert optional
Bei „true“ kann die Größe des Fensters vom Nutzer geändert werden. Der Standardwert ist „true“.
-
showInShelf
Boolescher Wert optional
Chrome 54 und höherBei „true“ wird für das Fenster ein eigenes Ablagesymbol angezeigt. Andernfalls wird das Fenster in der Ablage mit anderen Fenstern gruppiert, die mit der App verknüpft sind. Die Standardeinstellung ist „false“. Wenn showInShelf auf „true“ gesetzt ist, musst du eine ID für das Fenster angeben.
-
Singleton
Boolescher Wert 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 Eigenschaft auf "false" setzen.
-
state
Bundesstaat/-land optional
Der Anfangszustand des Fensters. In diesem Fall kann es bereits als Vollbild, maximiert oder minimiert erstellt werden. Die Standardeinstellung ist „Normal“.
-
Typ
WindowType optional
Chrome 45 oder höher Seit Chrome 69 eingestelltAlle App-Fenster verwenden den Fenstertyp "Shell".
Art des zu erstellenden Fensters.
-
visibleOnAllWorkspaces
Boolescher Wert optional
Wenn dieser Wert auf „true“ gesetzt ist und von der Plattform unterstützt wird, ist das Fenster in allen Arbeitsbereichen sichtbar.
FrameOptions
Attribute
-
activeColor
String optional
Ermöglicht das Festlegen der Rahmenfarbe des aktiven Fensters. Das Einfärben des Rahmens ist nur verfügbar, wenn der Frametyp
chrome
ist.Das Einfärben des Rahmens ist nur verfügbar, wenn der Frametyp
chrome
ist.Die Rahmenfarben sind neu in Chrome 36.
-
Farbe
String optional
Die Rahmenfarbe kann festgelegt werden. Das Einfärben des Rahmens ist nur verfügbar, wenn der Frametyp
chrome
ist.Die Rahmenfarben sind neu in Chrome 36.
-
inactiveColor
String optional
Die Rahmenfarbe des Fensters kann bei Inaktivität anders als die aktive Farbe festgelegt werden. Das Einfärben des Rahmens ist nur verfügbar, wenn der Frametyp
chrome
ist.inactiveColor
muss in Verbindung mitcolor
verwendet werden.Die Rahmenfarben sind neu in Chrome 36.
-
Typ
String optional
Frametyp:
none
oderchrome
(standardmäßigchrome
).Für
none
kann die CSS-Eigenschaft-webkit-app-region
verwendet werden, um Ziehbarkeit auf das App-Fenster anzuwenden.Mit
-webkit-app-region: drag
können Bereiche als ziehbar markiert werden. Mitno-drag
kann dieser Stil bei verschachtelten Elementen deaktiviert werden.
State
Status eines Fensters: normal, Vollbild, maximiert, minimiert.
Enum
"normal"
WindowType
Gibt den zu erstellenden Fenstertyp an.
Enum
"shell"
Standardfenstertyp.
„Steuerfeld“
Verwaltetes Fenster für das Betriebssystem (eingestellt).
Methoden
canSetVisibleOnAllWorkspaces()
chrome.app.window.canSetVisibleOnAllWorkspaces()
Gibt an, ob die aktuelle Plattform unterstützt, dass Fenster in allen Arbeitsbereichen sichtbar sind.
Rückgabe
-
boolean
create()
chrome.app.window.create(
url: string,
options?: CreateWindowOptions,
callback?: function,
)
Die Größe und Position eines Fensters kann auf verschiedene Arten angegeben werden. Die einfachste Option besteht darin, überhaupt nichts anzugeben. In diesem Fall wird eine Standardgröße und eine plattformabhängige Position verwendet.
Verwenden Sie die Eigenschaften innerBounds
oder outerBounds
, um die Position, Größe und Begrenzungen des Fensters festzulegen. Der innere Rahmen enthält keine Fensterdekorationen. Zu den äußeren Grenzen gehören die Titelleiste und der Frame des Fensters. Beachten Sie, dass der Abstand zwischen den inneren und äußeren Grenzen vom Betriebssystem bestimmt wird. Daher wird das Festlegen desselben Attributs für innere und äußere Grenzen als Fehler betrachtet, z. B. innerBounds.left
und outerBounds.left
.
Damit die Positionen von Fenstern automatisch gespeichert werden, können Sie ihnen IDs zuweisen. Verfügt ein Fenster über eine ID, wird diese ID verwendet, um Größe und Position des Fensters zu speichern, wenn es verschoben oder seine Größe angepasst wird. Diese Größe und Position werden dann beim nachfolgenden Öffnen eines Fensters mit derselben ID anstelle der angegebenen Grenzen verwendet. Wenn Sie ein Fenster mit einer ID an einer anderen Stelle als dem gespeicherten Standardwert öffnen möchten, können Sie es als ausgeblendet festlegen, an die gewünschte Stelle verschieben und dann anzeigen lassen.
Parameter
-
url
String
-
Optionen
CreateWindowOptions optional
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(createdWindow: AppWindow) => void
-
createdWindow
-
Rückgabe
-
Promise<AppWindow>
Chrome 117 oder höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
current()
chrome.app.window.current()
Gibt ein AppWindow
-Objekt für den aktuellen Skriptkontext zurück (d. h. das JavaScript-Objekt „window“). Sie kann auch auf einem Handle zu einem Skriptkontext für eine andere Seite aufgerufen werden, z. B. otherWindow.chrome.app.window.current().
Rückgabe
-
AppWindow | nicht definiert
get()
chrome.app.window.get(
id: string,
)
Ruft ein AppWindow
mit der angegebenen ID ab. Wenn kein Fenster mit der angegebenen ID vorhanden ist, wird null zurückgegeben. Diese Methode ist in Chrome 33 neu.
Parameter
-
id
String
Rückgabe
-
AppWindow | nicht definiert
getAll()
chrome.app.window.getAll()
Ruft ein Array aller derzeit erstellten App-Fenster ab. Diese Methode ist in Chrome 33 neu.
Rückgabe
Veranstaltungen
onBoundsChanged
chrome.app.window.onBoundsChanged.addListener(
callback: function,
)
Wird ausgelöst, wenn die Größe des Fensters angepasst wird
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:() => void
onClosed
chrome.app.window.onClosed.addListener(
callback: function,
)
Wird ausgelöst, wenn das Fenster geschlossen wird Hinweis: Dies sollte über ein anderes Fenster als das geschlossene Fenster erfasst werden, beispielsweise über die Hintergrundseite. Das liegt daran, dass das zu schließende Fenster beim Auslösen des Ereignisses gelöscht wird. Das bedeutet, dass nicht alle APIs im Skriptkontext des Fensters funktionieren.
Parameter
-
callback
Funktion
Der Parameter
callback
sieht 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 API).
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:() => void
onMaximized
chrome.app.window.onMaximized.addListener(
callback: function,
)
Wird ausgelöst, wenn das Fenster maximiert wird
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:() => void
onMinimized
chrome.app.window.onMinimized.addListener(
callback: function,
)
Wird ausgelöst, wenn das Fenster minimiert wird
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:() => void
onRestored
chrome.app.window.onRestored.addListener(
callback: function,
)
Wird ausgelöst, wenn die Minimierung oder Maximierung des Fensters wiederhergestellt wird
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:() => void