chrome.app.window

Beschrijving

Gebruik de chrome.app.window API om vensters te maken. Vensters hebben een optioneel frame met een titelbalk en bedieningselementen voor de grootte. Ze zijn niet gekoppeld aan Chrome-browservensters. Ga naar het voorbeeld van de vensterstatus voor een demonstratie van deze opties.

Typen

AppWindow

Eigenschappen

  • contentWindow

    Venster

    Het JavaScript-object 'window' voor het gemaakte onderliggende object.

  • id

    tekenreeks

    De ID waarmee het venster is gemaakt.

  • innerBounds

    De positie, grootte en beperkingen van de content van het venster, exclusief vensterdecoraties. Deze property is nieuw in Chrome 36.

  • outerBounds

    De positie, grootte en beperkingen van het venster, waaronder vensterdecoraties, zoals de titelbalk en het frame. Deze property is nieuw in Chrome 36.

  • clearAttention

    ongeldig

    Richt je aandacht op het raam.

    De functie clearAttention ziet er zo uit:

    () => {...}

  • sluiten

    ongeldig

    Sluit het venster.

    De functie close ziet er zo uit:

    () => {...}

  • drawAttention

    ongeldig

    De aandacht op het venster vestigen.

    De functie drawAttention ziet er zo uit:

    () => {...}

  • focus

    ongeldig

    Focus op het venster.

    De functie focus ziet er zo uit:

    () => {...}

  • volledig scherm

    ongeldig

    Toont het venster op volledig scherm.

    De gebruiker kan het venster herstellen door op ESC te drukken. Een app kan voorkomen dat de status voor volledig scherm wordt verlaten als op ESC wordt gedrukt door het recht app.window.fullscreen.overrideEsc aan te vragen en de gebeurtenis te annuleren door .preventDefault() aan te roepen in de keydown- en keyup-handlers, zoals hier:

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

    Opmerking: window.fullscreen() zorgt ervoor dat het hele venster op volledig scherm wordt weergegeven en vereist geen gebaar van de gebruiker. De HTML5-API voor volledig scherm kan ook worden gebruikt om de modus voor volledig scherm te openen (ga naar Web-API's voor meer informatie).

    De functie fullscreen ziet er zo uit:

    () => {...}

  • getBounds

    ongeldig

    Beëindigd

    Gebruik innerBounds of outerBounds.

    Haal de binnenste grenzen van het venster op als een ContentBounds-object.

    De functie getBounds ziet er zo uit:

    () => {...}

  • verbergen

    ongeldig

    Verberg het venster. Er gebeurt niets als het venster al verborgen is.

    De functie hide ziet er zo uit:

    () => {...}

  • isAlwaysOnTop

    ongeldig

    Staat het venster altijd op de voorgrond?

    De functie isAlwaysOnTop ziet er zo uit:

    () => {...}

    • returns

      booleaans

  • isFullscreen

    ongeldig

    Is het venster op volledig scherm? Dit is waar als het venster op volledig scherm is gemaakt of op volledig scherm is gezet via de AppWindow- of HTML5-API's voor volledig scherm.

    De functie isFullscreen ziet er zo uit:

    () => {...}

    • returns

      booleaans

  • isMaximized

    ongeldig

    Is het venster gemaximaliseerd?

    De functie isMaximized ziet er zo uit:

    () => {...}

    • returns

      booleaans

  • isMinimized

    ongeldig

    Is het venster geminimaliseerd?

    De functie isMinimized ziet er zo uit:

    () => {...}

    • returns

      booleaans

  • maximaliseren

    ongeldig

    Maximaliseer het venster.

    De functie maximize ziet er zo uit:

    () => {...}

  • minimaliseren

    ongeldig

    Minimaliseer het venster.

    De functie minimize ziet er zo uit:

    () => {...}

  • moveTo

    ongeldig

    Beëindigd sinds Chrome 43

    Gebruik outerBounds.

    Verplaats het venster naar de positie (left, top).

    De functie moveTo ziet er zo uit:

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

    • links

      getal

    • boven

      getal

  • resizeTo

    ongeldig

    Beëindigd sinds Chrome 43

    Gebruik outerBounds.

    Pas het formaat van het venster aan naar widthxheight pixels.

    De functie resizeTo ziet er zo uit:

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

    • breedte

      getal

    • hoogte

      getal

  • herstellen

    ongeldig

    Herstel het venster en sluit een gemaximaliseerde, geminimaliseerde of volledige schermstatus.

    De functie restore ziet er zo uit:

    () => {...}

  • setAlwaysOnTop

    ongeldig

    Stel in of het venster boven de meeste andere vensters moet blijven. Hiervoor is het recht alwaysOnTopWindows vereist.

    De functie setAlwaysOnTop ziet er zo uit:

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

    • alwaysOnTop

      booleaans

  • setBounds

    ongeldig

    Beëindigd

    Gebruik innerBounds of outerBounds.

    Stel de binnenste grenzen van het venster in.

    De functie setBounds ziet er zo uit:

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

  • setVisibleOnAllWorkspaces

    ongeldig

    Stel in of het venster zichtbaar is in alle werkruimtes. (Alleen voor platforms die dit ondersteunen).

    De functie setVisibleOnAllWorkspaces ziet er zo uit:

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

    • alwaysVisible

      booleaans

  • weergeven

    ongeldig

    Het venster tonen. Er gebeurt niets als het venster al zichtbaar is. Focus het venster als focused is ingesteld op True of is weggelaten.

    De functie show ziet er zo uit:

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

    • gefocust

      booleaans optioneel

Bounds

Eigenschappen

  • hoogte

    getal

    Deze property kan worden gebruikt om de huidige hoogte van de content of het venster te lezen of te schrijven.

  • links

    getal

    Deze eigenschap kan worden gebruikt om de huidige X-coördinaat van de content of het venster te lezen of te schrijven.

  • maxHeight

    number optioneel

    Deze property kan worden gebruikt om de huidige maximale hoogte van de content of het venster te lezen of te schrijven. De waarde null geeft 'niet gespecificeerd' aan.

  • maxWidth

    number optioneel

    Deze eigenschap kan worden gebruikt om de huidige maximale breedte van de content of het venster te lezen of te schrijven. De waarde null geeft 'niet gespecificeerd' aan.

  • minHeight

    number optioneel

    Deze property kan worden gebruikt om de huidige minimale hoogte van de content of het venster te lezen of te schrijven. De waarde null geeft 'niet gespecificeerd' aan.

  • minWidth

    number optioneel

    Deze eigenschap kan worden gebruikt om de huidige minimale breedte van de content of het venster te lezen of te schrijven. De waarde null geeft 'niet gespecificeerd' aan.

  • boven

    getal

    Deze property kan worden gebruikt om de huidige Y-coördinaat van de content of het venster te lezen of te schrijven.

  • breedte

    getal

    Deze eigenschap kan worden gebruikt om de huidige breedte van de content of het venster te lezen of te schrijven.

  • setMaximumSize

    ongeldig

    Stel de maximale grootte van de content of het venster in. De maximale breedte of hoogte kan worden ingesteld op null om de beperking te verwijderen. Een waarde van undefined laat een beperking ongewijzigd.

    De functie setMaximumSize ziet er zo uit:

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

    • maxWidth

      getal

    • maxHeight

      getal

  • setMinimumSize

    ongeldig

    Stel de minimale groottebeperkingen van de content of het venster in. De minimale breedte of hoogte kan worden ingesteld op null om de beperking te verwijderen. Een waarde van undefined laat een beperking ongewijzigd.

    De functie setMinimumSize ziet er zo uit:

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

    • minWidth

      getal

    • minHeight

      getal

  • setPosition

    ongeldig

    Stel de linker- en bovenpositie van de content of het venster in.

    De functie setPosition ziet er zo uit:

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

    • links

      getal

    • boven

      getal

  • setSize

    ongeldig

    Stel de breedte en hoogte van de content of het venster in.

    De functie setSize ziet er zo uit:

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

    • breedte

      getal

    • hoogte

      getal

BoundsSpecification

Eigenschappen

  • hoogte

    number optioneel

    De hoogte van de content of het venster.

  • links

    number optioneel

    De X-coördinaat van de content of het venster.

  • maxHeight

    number optioneel

    De maximale hoogte van de content of het venster.

  • maxWidth

    number optioneel

    De maximale breedte van de content of het venster.

  • minHeight

    number optioneel

    De minimale hoogte van de content of het venster.

  • minWidth

    number optioneel

    De minimale breedte van de content of het venster.

  • boven

    number optioneel

    De Y-coördinaat van de content of het venster.

  • breedte

    number optioneel

    De breedte van de content of het venster.

ContentBounds

Eigenschappen

  • hoogte

    number optioneel

  • links

    number optioneel

  • boven

    number optioneel

  • breedte

    number optioneel

CreateWindowOptions

Eigenschappen

  • alwaysOnTop

    booleaans optioneel

    Als deze waarde waar is, blijft het venster boven de meeste andere vensters staan. Als er meerdere vensters van dit type zijn, staat het venster dat op dat moment de focus heeft op de voorgrond. Hiervoor is het recht alwaysOnTopWindows vereist. De standaard is onwaar.

    Roep setAlwaysOnTop() aan in het venster om deze property te wijzigen nadat deze is gemaakt.

  • grenzen

    ContentBounds optioneel

    Beëindigd

    Gebruik innerBounds of outerBounds.

    De grootte en positie van de content in het venster (exclusief de titelbalk). Als er ook een ID is opgegeven en er eerder een venster met een overeenkomende ID is getoond, worden de onthouden grenzen van het venster gebruikt.

  • gefocust

    booleaans optioneel

    Als dit waar is, wordt het venster gefocust wanneer het wordt gemaakt. De standaardwaarde is true.

  • frame

    string | FrameOptions optioneel

    Frametype: none of chrome (standaard ingesteld op chrome). Voor none kan de CSS-property -webkit-app-region worden gebruikt om het venster van de app sleepbaar te maken. -webkit-app-region: drag kan worden gebruikt om regio's als sleepbaar te markeren. no-drag kan worden gebruikt om deze stijl uit te zetten voor geneste elementen.

    Het gebruik van FrameOptions is nieuw in M36.

  • verborgen

    booleaans optioneel

    Als dit waar is, wordt het venster gemaakt in een verborgen status. Roep show() aan in het venster om het te tonen nadat het is gemaakt. De standaard is onwaar.

  • icoon

    tekenreeks optioneel

    Chrome 54+

    URL van het venstericoon. Een venster kan een eigen icoon hebben als showInShelf is ingesteld op true. De URL moet een algemene URL of een lokale URL voor de extensie zijn.

  • id

    tekenreeks optioneel

    ID om het venster te identificeren. Dit wordt gebruikt om de grootte en positie van het venster te onthouden en die geometrie te herstellen als een venster met dezelfde ID later wordt geopend. Als er een venster met een bepaalde ID wordt gemaakt terwijl er al een ander venster met dezelfde ID bestaat, wordt het momenteel geopende venster geactiveerd in plaats van dat er een nieuw venster wordt gemaakt.

  • innerBounds

    Wordt gebruikt om de beginpositie, het beginformaat en de beperkingen van de content van het venster (exclusief vensterdecoraties) aan te geven. Als er ook een id is opgegeven en er eerder een venster met een overeenkomende id is getoond, worden de onthouden grenzen gebruikt.

    De opvulling tussen de binnen- en buitengrenzen wordt bepaald door het OS. Als u dezelfde eigenschap voor grenzen instelt voor zowel de innerBounds als de outerBounds, leidt dit tot een fout.

    Deze property is nieuw in Chrome 36.

  • maxHeight

    number optioneel

    Beëindigd

    Gebruik innerBounds of outerBounds.

    Maximale hoogte van het venster.

  • maxWidth

    number optioneel

    Beëindigd

    Gebruik innerBounds of outerBounds.

    Maximale breedte van het venster.

  • minHeight

    number optioneel

    Beëindigd

    Gebruik innerBounds of outerBounds.

    Minimale hoogte van het venster.

  • minWidth

    number optioneel

    Beëindigd

    Gebruik innerBounds of outerBounds.

    Minimale breedte van het venster.

  • outerBounds

    Wordt gebruikt om de beginpositie, de begingrootte en de beperkingen van het venster aan te geven (waaronder vensterdecoraties zoals de titelbalk en het frame). Als er ook een id is opgegeven en er eerder een venster met een overeenkomende id is getoond, worden de onthouden grenzen gebruikt.

    De opvulling tussen de binnen- en buitengrenzen wordt bepaald door het OS. Als u dezelfde eigenschap voor grenzen instelt voor zowel de innerBounds als de outerBounds, leidt dit tot een fout.

    Deze property is nieuw in Chrome 36.

  • formaat aanpasbaar

    booleaans optioneel

    Als dit waar is, kan de gebruiker het formaat van het venster aanpassen. De standaardwaarde is true.

  • showInShelf

    booleaans optioneel

    Chrome 54+

    Als je dit instelt op True, krijgt het venster een eigen plankicoon. Anders wordt het venster op de plank gegroepeerd met andere vensters die aan de app zijn gekoppeld. De standaardwaarde is false. Als showInShelf is ingesteld op True, moet je een ID voor het venster opgeven.

  • singleton

    booleaans optioneel

    Beëindigd

    Meerdere vensters met dezelfde ID worden niet meer ondersteund.

    Als je een ID voor het venster opgeeft, wordt het venster standaard alleen gemaakt als er nog geen ander venster met dezelfde ID bestaat. Als er al een venster met dezelfde ID bestaat, wordt dat venster geactiveerd. Als je meerdere vensters met dezelfde ID wilt maken, kun je deze property instellen op false.

  • status

    State optioneel

    De beginstatus van het venster, zodat het al op volledig scherm, gemaximaliseerd of geminimaliseerd kan worden gemaakt. De standaardwaarde is 'normal'.

  • type

    WindowType optioneel

    Chrome 45+ Beëindigd sinds Chrome 69

    Alle app-vensters gebruiken het venstertype 'shell'

    Het type venster dat moet worden gemaakt.

  • visibleOnAllWorkspaces

    booleaans optioneel

    Als de waarde 'true' is en het platform dit ondersteunt, is het venster zichtbaar in alle werkruimtes.

FrameOptions

Eigenschappen

  • activeColor

    tekenreeks optioneel

    Hiermee kan de framekleur van het venster worden ingesteld als het actief is. Framekleuring is alleen beschikbaar als het frametype chrome is.

    Framekleuring is alleen beschikbaar als het frametype chrome is.

    Framekleuring is nieuw in Chrome 36.

  • kleur

    tekenreeks optioneel

    Hiermee kan de framekleur worden ingesteld. Framekleuring is alleen beschikbaar als het frametype chrome is.

    Framekleuring is nieuw in Chrome 36.

  • inactiveColor

    tekenreeks optioneel

    Hiermee kan de framekleur van het venster als het inactief is, anders worden ingesteld dan de actieve kleur. Framekleuring is alleen beschikbaar als het frametype chrome is.

    inactiveColor moet worden gebruikt in combinatie met color.

    Framekleuring is nieuw in Chrome 36.

  • type

    tekenreeks optioneel

    Frametype: none of chrome (standaard ingesteld op chrome).

    Voor none kan de CSS-property -webkit-app-region worden gebruikt om het venster van de app sleepbaar te maken.

    -webkit-app-region: drag kan worden gebruikt om regio's als sleepbaar te markeren. no-drag kan worden gebruikt om deze stijl uit te zetten voor geneste elementen.

State

Status van een venster: normaal, volledig scherm, gemaximaliseerd, geminimaliseerd.

Enum

"normal"

"fullscreen"

"maximized"

"minimized"

WindowType

Chrome 45+

Geeft het type venster aan dat moet worden gemaakt.

Enum

shell
Standaard venstertype.

"panel"
Door het OS beheerd venster (beëindigd).

Methoden

canSetVisibleOnAllWorkspaces()

chrome.app.window.canSetVisibleOnAllWorkspaces(): boolean

Of het huidige platform ondersteunt dat vensters zichtbaar zijn in alle werkruimtes.

Retourzendingen

  • booleaans

create()

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

De grootte en positie van een venster kunnen op verschillende manieren worden aangegeven. De eenvoudigste optie is om helemaal niets op te geven. In dat geval wordt een standaardgrootte en een platformafhankelijke positie gebruikt.

Gebruik de property innerBounds of outerBounds om de positie, het formaat en de beperkingen van het venster in te stellen. Binnenste grenzen bevatten geen vensterdecoraties. De buitenste grenzen omvatten de titelbalk en het frame van het venster. De opvulling tussen de binnen- en buitengrenzen wordt bepaald door het OS. Als je dezelfde property instelt voor zowel de binnen- als de buitengrenzen, wordt dit als een fout beschouwd (bijvoorbeeld als je zowel innerBounds.left als outerBounds.left instelt).

Als je de posities van vensters automatisch wilt onthouden, kun je ze ID's geven. Als een venster een ID heeft, wordt deze ID gebruikt om het formaat en de positie van het venster te onthouden wanneer het wordt verplaatst of het formaat wordt aangepast. Deze grootte en positie worden dan gebruikt in plaats van de aangegeven grenzen bij het openen van een venster met dezelfde ID. Als je een venster met een ID wilt openen op een andere locatie dan de onthouden standaardlocatie, kun je het venster verborgen maken, naar de gewenste locatie verplaatsen en dan tonen.

Parameters

Retourzendingen

  • Promise<AppWindow>

    Chrome 117+

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

current()

chrome.app.window.current(): AppWindow | undefined

Retourneert een AppWindow-object voor de huidige scriptcontext (bijv. JavaScript-object 'window'). Dit kan ook worden aangeroepen op een handle naar een scriptcontext voor een andere pagina, bijvoorbeeld: otherWindow.chrome.app.window.current().

Retourzendingen

get()

chrome.app.window.get(
  id: string,
)
: AppWindow | undefined

Haalt een AppWindow op met de opgegeven ID. Als er geen venster met de opgegeven ID bestaat, wordt null geretourneerd. Deze methode is nieuw in Chrome 33.

Parameters

  • id

    tekenreeks

Retourzendingen

getAll()

chrome.app.window.getAll(): AppWindow[]

Haalt een matrix op van alle op dit moment gemaakte app-vensters. Deze methode is nieuw in Chrome 33.

Retourzendingen

Evenementen

onBoundsChanged

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

Wordt geactiveerd als het formaat van het venster wordt aangepast.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    () => void

onClosed

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

Wordt geactiveerd als het venster wordt gesloten. Dit moet worden beluisterd vanuit een ander venster dan het venster dat wordt gesloten, bijvoorbeeld vanaf de achtergrondpagina. Dit komt doordat het venster dat wordt gesloten, wordt afgebroken wanneer de gebeurtenis wordt geactiveerd. Dit betekent dat niet alle API's in de scriptcontext van het venster functioneel zijn.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    () => void

onFullscreened

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

Wordt geactiveerd als het venster op volledig scherm wordt gezet (via de AppWindow- of HTML5-API's).

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    () => void

onMaximized

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

Wordt geactiveerd als het venster wordt gemaximaliseerd.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    () => void

onMinimized

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

Wordt geactiveerd als het venster wordt geminimaliseerd.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    () => void

onRestored

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

Wordt geactiveerd als het venster wordt hersteld nadat het is geminimaliseerd of gemaximaliseerd.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    () => void