chrome.app.window

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

    Eingestellt

    Verwenden Sie „innerBounds“ oder „outerBounds“.

    Rufen Sie die inneren Begrenzungen des Fensters als ContentBounds-Objekt ab.

    Die Funktion getBounds sieht so aus:

    ()=> {...}

  • 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 eingestellt

    Verwenden 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 eingestellt

    Verwenden Sie „outerBounds“.

    Passen Sie die Größe des Fensters auf width x height 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

    Eingestellt

    Verwenden Sie „innerBounds“ oder „outerBounds“.

    Legen Sie die inneren Begrenzungen des Fensters fest.

    Die Funktion setBounds sieht so aus:

    (bounds: ContentBounds)=> {...}

  • 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 Wert undefined 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 Wert undefined 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

    Eingestellt

    Verwenden 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 oder chrome (Standardwert ist chrome). 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. Mit no-drag kann dieser Stil bei verschachtelten Elementen deaktiviert werden.

    Die Verwendung von FrameOptions ist in M36 neu.

  • ausgeblendet

    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öher

    URL 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

    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 übereinstimmenden id 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 und outerBounds zu einem Fehler.

    Diese Eigenschaft ist neu in Chrome 36.

  • maxHeight

    Nummer optional

    Eingestellt

    Verwenden Sie „innerBounds“ oder „outerBounds“.

    Maximale Höhe des Fensters.

  • maxWidth

    Nummer optional

    Eingestellt

    Verwenden Sie „innerBounds“ oder „outerBounds“.

    Maximale Breite des Fensters.

  • minHeight

    Nummer optional

    Eingestellt

    Verwenden Sie „innerBounds“ oder „outerBounds“.

    Mindesthöhe des Fensters.

  • minWidth

    Nummer optional

    Eingestellt

    Verwenden Sie „innerBounds“ oder „outerBounds“.

    Die Mindestbreite des Fensters.

  • outerBounds

    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 übereinstimmenden id 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 und outerBounds 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öher

    Bei „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

    Eingestellt

    Mehrere 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

    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 eingestellt

    Alle 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 mit color verwendet werden.

    Die Rahmenfarben sind neu in Chrome 36.

  • Typ

    String optional

    Frametyp: none oder chrome (standardmäßig chrome).

    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. Mit no-drag kann dieser Stil bei verschachtelten Elementen deaktiviert werden.

State

Status eines Fensters: normal, Vollbild, maximiert, minimiert.

Enum

"normal"

WindowType

Chrome 45 und höher

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ückgaben

  • boolean

create()

Versprechen
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.

Parameters

Rückgaben

  • Promise<AppWindow>

    Chrome 117 oder höher

    Promise-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ückgaben

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.

Parameters

  • id

    String

Rückgaben

getAll()

chrome.app.window.getAll()

Ruft ein Array aller derzeit erstellten App-Fenster ab. Diese Methode ist in Chrome 33 neu.

Rückgaben

Veranstaltungen

onBoundsChanged

chrome.app.window.onBoundsChanged.addListener(
  callback: function,
)

Wird ausgelöst, wenn die Größe des Fensters angepasst wird

Parameters

  • 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.

Parameters

  • 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).

Parameters

  • 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

Parameters

  • 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

Parameters

  • 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

Parameters

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    ()=>void