chrome.app.window

Beschreibung

Verwenden Sie die chrome.app.window API, um Zeiträume zu erstellen. Fenster haben einen optionalen Rahmen mit Titelleiste und Größenanpassungssteuerelementen. Sie sind nicht mit Chrome-Browserfenstern verknüpft. Ein Beispiel für diese Optionen finden Sie im Window State Sample.

Typen

AppWindow

Attribute

  • contentWindow

    Fenster

    Das JavaScript-Objekt „window“ für das erstellte untergeordnete Fenster.

  • id

    String

    Die ID, mit der das Fenster erstellt wurde.

  • innerBounds

    Die Position, Größe und Einschränkungen des Inhalts des Fensters, ohne Fensterdekorationen. Diese Eigenschaft ist neu in Chrome 36.

  • outerBounds

    Die Position, Größe und Einschränkungen des Fensters, einschließlich der Fensterdekorationen wie Titelleiste und Rahmen. Diese Eigenschaft ist neu in Chrome 36.

  • clearAttention

    void

    Achten Sie auf das Fenster.

    Die clearAttention-Funktion sieht so aus:

    () => {...}

  • Schließen

    void

    Schließen Sie das Fenster.

    Die close-Funktion sieht so aus:

    () => {...}

  • drawAttention

    void

    Machen Sie auf das Fenster aufmerksam.

    Die drawAttention-Funktion sieht so aus:

    () => {...}

  • Fokus

    void

    Fokus auf das Fenster setzen

    Die focus-Funktion sieht so aus:

    () => {...}

  • Vollbild

    void

    Maximiert das Fenster.

    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. Dazu muss sie die Berechtigung app.window.fullscreen.overrideEsc anfordern und das Ereignis in den Keydown- und Keyup-Handlern durch Aufrufen von .preventDefault() abbrechen:

    window.onkeydown = window.onkeyup = function(e) { if (e.keyCode == 27 /* ESC *\/) { e.preventDefault(); } };

    Hinweis: Mit window.fullscreen() wird das gesamte Fenster in den Vollbildmodus versetzt. Eine Nutzergeste ist nicht erforderlich. Die HTML5-Vollbild-API kann auch verwendet werden, um in den Vollbildmodus zu wechseln (weitere Informationen finden Sie unter Web-APIs).

    Die fullscreen-Funktion sieht so aus:

    () => {...}

  • getBounds

    void

    Eingestellt

    Verwenden Sie innerBounds oder outerBounds.

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

    Die getBounds-Funktion sieht so aus:

    () => {...}

  • Ausblenden

    void

    Blenden Sie das Fenster aus. Hat keine Auswirkungen, wenn das Fenster bereits ausgeblendet ist.

    Die hide-Funktion sieht so aus:

    () => {...}

  • isAlwaysOnTop

    void

    Wird das Fenster immer im Vordergrund angezeigt?

    Die isAlwaysOnTop-Funktion sieht so aus:

    () => {...}

    • Gibt zurück

      boolean

  • isFullscreen

    void

    Wird das Fenster im Vollbildmodus angezeigt? Das ist der Fall, wenn das Fenster im Vollbildmodus erstellt oder über die AppWindow- oder HTML5-Vollbild-APIs in den Vollbildmodus versetzt wurde.

    Die isFullscreen-Funktion sieht so aus:

    () => {...}

    • Gibt zurück

      boolean

  • isMaximized

    void

    Ist das Fenster maximiert?

    Die isMaximized-Funktion sieht so aus:

    () => {...}

    • Gibt zurück

      boolean

  • isMinimized

    void

    Ist das Fenster minimiert?

    Die isMinimized-Funktion sieht so aus:

    () => {...}

    • Gibt zurück

      boolean

  • maximieren

    void

    Maximieren Sie das Fenster.

    Die maximize-Funktion sieht so aus:

    () => {...}

  • minimieren

    void

    Minimieren Sie das Fenster.

    Die minimize-Funktion sieht so aus:

    () => {...}

  • moveTo

    void

    Seit Chrome 43 eingestellt

    outerBounds verwenden

    Verschieben Sie das Fenster an die Position (left, top).

    Die moveTo-Funktion sieht so aus:

    (left: number, top: number) => {...}

    • links

      Zahl

    • oben

      Zahl

  • resizeTo

    void

    Seit Chrome 43 eingestellt

    outerBounds verwenden

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

    Die resizeTo-Funktion sieht so aus:

    (width: number, height: number) => {...}

    • Breite

      Zahl

    • Höhe

      Zahl

  • Wiederherstellen

    void

    Stellt das Fenster wieder her und beendet den maximierten, minimierten oder Vollbildmodus.

    Die restore-Funktion sieht so aus:

    () => {...}

  • setAlwaysOnTop

    void

    Legen Sie fest, ob das Fenster über den meisten anderen Fenstern angezeigt werden soll. Erfordert die Berechtigung alwaysOnTopWindows.

    Die setAlwaysOnTop-Funktion sieht so aus:

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

    • alwaysOnTop

      boolean

  • setBounds

    void

    Eingestellt

    Verwenden Sie innerBounds oder outerBounds.

    Legen Sie die inneren Grenzen des Fensters fest.

    Die setBounds-Funktion 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 setVisibleOnAllWorkspaces-Funktion sieht so aus:

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

    • alwaysVisible

      boolean

  • Einblenden

    void

    Fenster anzeigen Hat keine Auswirkungen, wenn das Fenster bereits sichtbar ist. Das Fenster wird fokussiert, wenn focused auf „true“ gesetzt oder ausgelassen wird.

    Die show-Funktion sieht so aus:

    (focused?: boolean) => {...}

    • Fokussiert

      boolean optional

Bounds

Attribute

  • Höhe

    Zahl

    Mit dieser Eigenschaft 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 gibt „nicht angegeben“ an.

  • maxWidth

    number optional

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

  • minHeight

    number optional

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

  • minWidth

    number optional

    Mit dieser Eigenschaft kann die aktuelle Mindestbreite des Inhalts oder Fensters gelesen oder geschrieben werden. Der Wert null gibt „nicht angegeben“ an.

  • 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 maximalen Größenbeschränkungen für den Inhalt oder das Fenster fest. Die maximale Breite oder Höhe kann auf null festgelegt werden, um die Einschränkung zu entfernen. Bei einem Wert von undefined bleibt eine Einschränkung unverändert.

    Die setMaximumSize-Funktion sieht so aus:

    (maxWidth: number, maxHeight: number) => {...}

    • maxWidth

      Zahl

    • maxHeight

      Zahl

  • setMinimumSize

    void

    Legen Sie die Mindestgrößenbeschränkungen für den Inhalt oder das Fenster fest. Die Mindestbreite oder ‑höhe kann auf null festgelegt werden, um die Einschränkung zu entfernen. Bei einem Wert von undefined bleibt eine Einschränkung unverändert.

    Die setMinimumSize-Funktion sieht so aus:

    (minWidth: number, minHeight: number) => {...}

    • minWidth

      Zahl

    • minHeight

      Zahl

  • setPosition

    void

    Legen Sie die Position des Inhalts oder Fensters links und oben fest.

    Die setPosition-Funktion 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 setSize-Funktion 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

    boolean optional

    Bei „true“ bleibt das Fenster über den meisten anderen Fenstern. Wenn es mehrere Fenster dieser Art gibt, 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.

  • Grenzwerte

    ContentBounds optional

    Eingestellt

    Verwenden Sie innerBounds oder outerBounds.

    Größe und Position des Inhalts im Fenster (ohne Titelleiste). Wenn auch eine ID angegeben wird und ein Fenster mit einer übereinstimmenden ID bereits angezeigt wurde, werden stattdessen die gespeicherten Grenzen des Fensters verwendet.

  • Fokussiert

    boolean optional

    Wenn „true“, wird das Fenster beim Erstellen fokussiert. Der Standardwert ist „true“.

  • Frame

    String | FrameOptions optional

    Rahmentyp: none oder chrome (Standardeinstellung ist chrome). Bei none kann die CSS-Eigenschaft -webkit-app-region verwendet werden, um das App-Fenster verschiebbar zu machen. Mit -webkit-app-region: drag können Sie Regionen als ziehbar markieren. Mit no-drag können Sie diesen Stil für verschachtelte Elemente deaktivieren.

    Die Verwendung von FrameOptions ist neu in M36.

  • ausgeblendet

    boolean optional

    Bei „true“ wird das Fenster im ausgeblendeten Zustand erstellt. Rufen Sie show() für das Fenster auf, um es anzuzeigen, nachdem es erstellt wurde. 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 extensionspezifische lokale URL sein.

  • id

    String optional

    ID zur Identifizierung des Fensters. Damit werden Größe und Position des Fensters gespeichert und 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 Anfangsposition, die Anfangsgröße und die Einschränkungen des Inhalts des Fensters (ohne Fensterdekorationen) anzugeben. Wenn auch ein id angegeben ist und zuvor ein Fenster mit einem passenden id angezeigt wurde, werden stattdessen die gespeicherten Grenzen verwendet.

    Die Auffüllung zwischen den inneren und äußeren Grenzen wird vom Betriebssystem bestimmt. Wenn Sie also für innerBounds und outerBounds dieselbe Eigenschaft für die Grenzen festlegen, wird ein Fehler ausgegeben.

    Diese Eigenschaft 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.

    Die Mindestbreite des Fensters.

  • outerBounds

    Wird verwendet, um die Anfangsposition, die Anfangsgröß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 passenden id angezeigt wurde, werden stattdessen die gespeicherten Grenzen verwendet.

    Die Auffüllung zwischen den inneren und äußeren Grenzen wird vom Betriebssystem bestimmt. Wenn Sie also für innerBounds und outerBounds dieselbe Eigenschaft für die Grenzen festlegen, wird ein Fehler ausgegeben.

    Diese Eigenschaft ist neu in Chrome 36.

  • Größe kann geändert werden

    boolean optional

    Wenn „true“, kann die Größe des Fensters vom Nutzer geändert werden. Der Standardwert ist „true“.

  • showInShelf

    boolean optional

    Chrome 54 und höher

    Bei „true“ hat das Fenster ein eigenes Ablagesymbol. Andernfalls wird das Fenster im Shelf mit anderen Fenstern gruppiert, die mit der App verknüpft sind. Der Standardwert ist „false“. Wenn „showInShelf“ auf „true“ gesetzt ist, müssen Sie eine ID für das Fenster angeben.

  • Singleton

    boolean optional

    Eingestellt

    Mehrere Fenster mit derselben ID werden nicht mehr unterstützt.

    Wenn Sie standardmäßig eine ID für das Fenster angeben, wird das Fenster 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.

  • Bundesstaat

    Bundesland 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 Seit Chrome 69 eingestellt

    Alle App-Fenster verwenden den Fenstertyp „shell“

    Typ des zu erstellenden Fensters.

  • visibleOnAllWorkspaces

    boolean 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 Rahmenfarbe 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 Rahmenfarbe ist neu in Chrome 36.

  • inactiveColor

    String optional

    Ermöglicht es, die Rahmenfarbe des Fensters im inaktiven Zustand anders als die aktive Farbe festzulegen. Die Rahmenfarbe ist nur verfügbar, wenn der Rahmentyp chrome ist.

    inactiveColor muss in Verbindung mit color verwendet werden.

    Die Rahmenfarbe ist neu in Chrome 36.

  • Typ

    String optional

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

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

    Mit -webkit-app-region: drag können Sie Regionen als ziehbar markieren. Mit no-drag können Sie diesen Stil für verschachtelte Elemente deaktivieren.

State

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

Enum

"normal"

"fullscreen"

"maximized"

"minimized"

WindowType

Chrome 45 und höher

Gibt den Typ des zu erstellenden Fensters an.

Enum

„shell“
Standardfenstertyp.

„panel“
Vom Betriebssystem verwaltetes Fenster (eingestellt)

Methoden

canSetVisibleOnAllWorkspaces()

chrome.app.window.canSetVisibleOnAllWorkspaces(): boolean

Gibt an, ob die aktuelle Plattform unterstützt, dass Fenster auf allen Arbeitsbereichen sichtbar sind.

Ausgabe

  • boolean

create()

Promise
chrome.app.window.create(
  url: string,
  options?: CreateWindowOptions,
  callback?: function,
)
: Promise<AppWindow>

Die Größe und Position eines Fensters können auf verschiedene Arten angegeben werden. Die einfachste Option ist, nichts anzugeben. In diesem Fall werden eine Standardgröße und eine plattformabhängige Position verwendet.

Verwenden Sie die Eigenschaften innerBounds oder outerBounds, um die Position, Größe und Einschränkungen des Fensters festzulegen. Die inneren Grenzen umfassen keine Fensterdekorationen. Die äußeren Grenzen umfassen die Titelleiste und den Rahmen des Fensters. Die Auffüllung zwischen den inneren und äußeren Grenzen wird vom Betriebssystem bestimmt. Daher gilt es als Fehler, dieselbe Eigenschaft für die inneren und äußeren Grenzen festzulegen (z. B. sowohl innerBounds.left als auch outerBounds.left).

Wenn Sie sich die Positionen von Fenstern automatisch merken lassen möchten, 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 in der Größe angepasst wird. Diese Größe und Position werden dann anstelle der angegebenen Grenzen beim nachfolgenden Öffnen eines Fensters mit derselben ID 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 und 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 Script-Kontext zurück (d. h. das JavaScript-Objekt „window“). Diese Methode 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: Das Ereignis sollte in einem anderen Fenster als dem, das geschlossen wird, abgehört werden, z. B. auf der Hintergrundseite. Das liegt daran, dass das Fenster, das geschlossen wird, gerade geschlossen wird, wenn das Ereignis ausgelöst 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 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 nach der Minimierung oder Maximierung wiederhergestellt wird.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    () => void