chrome.app.window

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 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:

    () => {...}

  • Fokus

    void

    Fokussieren Sie das Fenster.

    Die Funktion focus sieht 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.overrideEsc anfordert 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 fullscreen sieht so aus:

    () => {...}

  • getBounds

    void

    Eingestellt

    Verwenden Sie „innerBounds“ oder „outerBounds“.

    Ruft die inneren Grenzen des Fensters als ContentBounds-Objekt ab.

    Die Funktion getBounds sieht so aus:

    () => {...}

  • Ausblenden

    void

    Fenster ausblenden Wenn das Fenster bereits ausgeblendet ist, passiert nichts.

    Die Funktion hide sieht so aus:

    () => {...}

  • isAlwaysOnTop

    void

    Ist das Fenster immer im Vordergrund?

    Die Funktion isAlwaysOnTop sieht 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 isFullscreen sieht so aus:

    () => {...}

    • Gibt zurück

      boolean

  • isMaximized

    void

    Ist 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

    Fenster minimieren

    Die Funktion minimize sieht so aus:

    () => {...}

  • moveTo

    void

    Seit Chrome 43 veraltet

    Verwenden Sie „outerBounds“.

    Verschiebe 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 veraltet

    Verwenden Sie „outerBounds“.

    Ändern Sie die Größe des Fensters auf width × height Pixel.

    Die Funktion resizeTo sieht 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 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“.

    Legt die inneren Grenzen des Fensters fest.

    Die Funktion setBounds sieht so aus:

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

  • setVisibleOnAllWorkspaces

    void

    Legen Sie fest, ob das Fenster in allen Arbeitsbereichen sichtbar ist. (Nur für Plattformen, die dies unterstützen.)

    Die Funktion setVisibleOnAllWorkspaces sieht so aus:

    (alwaysVisible: boolean) => {...}

    • alwaysVisible

      boolean

  • Einblenden

    void

    Fenster anzeigen Wenn das Fenster bereits sichtbar ist, passiert nichts. Das Fenster wird fokussiert, wenn focused auf „true“ gesetzt oder weggelassen wird.

    Die Funktion show sieht 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 null bedeutet „nicht angegeben“.

  • maxWidth

    number optional

    Mit dieser Eigenschaft kann die aktuelle maximale Breite des Inhalts oder Fensters gelesen oder geschrieben werden. Der Wert null bedeutet „nicht angegeben“.

  • minHeight

    number optional

    Mit dieser Property kann die aktuelle Mindesthöhe des Inhalts oder Fensters gelesen oder geschrieben werden. Der Wert null bedeutet „nicht angegeben“.

  • minWidth

    number optional

    Mit dieser Property kann die aktuelle Mindestbreite des Inhalts oder Fensters gelesen oder geschrieben werden. Der Wert null bedeutet „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 null festgelegt werden, um die Einschränkung aufzuheben. 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 Mindestgröße 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

    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

    Eingestellt

    Verwenden 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: none oder chrome (Standard ist chrome). Bei none kann die CSS-Property -webkit-app-region verwendet werden, um das Fenster der App ziehbar zu machen. Mit -webkit-app-region: drag können Regionen als ziehbar markiert werden. Mit no-drag kann dieser Stil für verschachtelte Elemente deaktiviert werden.

    Die Verwendung von FrameOptions ist neu in M36.

  • ausgeblendet

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

    Wird verwendet, um die ursprüngliche Position, die ursprüngliche Größe und die Einschränkungen des Fensterinhalts (ohne Fensterdekorationen) anzugeben. Wenn auch ein id angegeben ist und zuvor ein Fenster mit einem übereinstimmenden id angezeigt 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 innerBounds und outerBounds dieselbe Begrenzungseigenschaft festlegen, wird ein Fehler ausgegeben.

    Diese Property ist neu in Chrome 36.

  • maxHeight

    number optional

    Eingestellt

    Verwenden Sie „innerBounds“ oder „outerBounds“.

    Maximale Höhe des Fensters.

  • maxWidth

    number optional

    Eingestellt

    Verwenden Sie „innerBounds“ oder „outerBounds“.

    Maximale Breite des Fensters.

  • minHeight

    number optional

    Eingestellt

    Verwenden Sie „innerBounds“ oder „outerBounds“.

    Mindesthöhe des Fensters.

  • minWidth

    number optional

    Eingestellt

    Verwenden Sie „innerBounds“ oder „outerBounds“.

    Mindestbreite des Fensters.

  • outerBounds

    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 id angegeben ist und zuvor ein Fenster mit einem übereinstimmenden id angezeigt 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 innerBounds und outerBounds dieselbe 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öher

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

    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 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 69

    Alle 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 chrome ist.

    Die Rahmenfarbe ist nur verfügbar, wenn der Rahmentyp chrome ist.

    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 chrome ist.

    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 chrome ist.

    inactiveColor muss in Verbindung mit color verwendet werden.

    Die Farbgebung von Frames ist neu in Chrome 36.

  • Typ

    String optional

    Frame-Typ: none oder chrome (Standardeinstellung ist chrome).

    Unter none kann die CSS-Eigenschaft -webkit-app-region verwendet werden, um das Fenster der App ziehbar zu machen.

    Mit -webkit-app-region: drag können Regionen als ziehbar markiert werden. Mit no-drag kann dieser Stil für verschachtelte Elemente deaktiviert werden.

State

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

Enum

"normal"

"fullscreen"

"maximized"

"minimized"

WindowType

Chrome 45 oder höher

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()

Promise
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

Ausgabe

  • Promise<AppWindow>

    Chrome 117 oder höher

    Promises 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

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

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 callback sieht 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 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-APIs).

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 das Fenster aus dem minimierten oder maximierten Zustand wiederhergestellt wird.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    () => void