chroom.ramen

Beschrijving

Gebruik de chrome.windows API om te communiceren met browservensters. U kunt deze API gebruiken om vensters in de browser te maken, te wijzigen en opnieuw in te delen.

Machtigingen

Indien gevraagd, bevat een windows.Window een array met tabs.Tab objecten. U moet de machtiging "tabs" in uw manifest declareren als u toegang nodig hebt tot de eigenschappen url , pendingUrl , title of favIconUrl van tabs.Tab . Bijvoorbeeld:

{   "name": "My extension",   ...   "permissions": ["tabs"],   ... } 

Begrippen en gebruik

Het huidige venster

Veel functies in het extensiesysteem accepteren een optioneel windowId argument, dat standaard het huidige venster gebruikt.

Het huidige venster is het venster met de code die momenteel wordt uitgevoerd. Het is belangrijk om te beseffen dat dit kan verschillen van het bovenste of gefocuste venster.

Stel bijvoorbeeld dat een extensie een paar tabbladen of vensters aanmaakt vanuit één HTML-bestand, en dat het HTML-bestand een aanroep van tabs.query() bevat. Het huidige venster is het venster dat de pagina bevat die de aanroep heeft gedaan, ongeacht wat het bovenste venster is.

In het geval van serviceworkers valt de waarde van het huidige venster terug naar het laatst actieve venster. Onder bepaalde omstandigheden is er mogelijk geen huidig venster voor achtergrondpagina's.

Voorbeelden

Om deze API uit te proberen, installeert u het Windows API-voorbeeld uit de chrome-extension-samples repository.

Twee vensters, elk met één tabblad
Twee vensters, elk met één tabblad.

Typen

CreateType

Chroom 44+

Geeft aan welk type browservenster moet worden gemaakt. 'panel' is verouderd en is alleen beschikbaar voor bestaande extensies op de toegestane lijst in Chrome OS.

Enum

"normaal"
Geeft aan dat het venster een standaardvenster is.

"pop-up"
Hiermee wordt het venster opgegeven als pop-upvenster.

"paneel"
Geeft aan dat het venster een paneel is.

QueryOptions

Chroom 88+

Eigenschappen

  • bevolken

    boolean optioneel

    Indien true, heeft het windows.Window -object een tabs -eigenschap die een lijst met de tabs.Tab -objecten bevat. De Tab objecten bevatten alleen de eigenschappen url , pendingUrl , title en favIconUrl als het manifestbestand van de extensie de machtiging "tabs" bevat.

  • venstertypen

    WindowType [] optioneel

    Indien ingesteld, wordt het geretourneerde windows.Window gefilterd op basis van het type. Indien niet ingesteld, wordt het standaardfilter ingesteld op ['normal', 'popup'] .

Window

Eigenschappen

  • altijdOpTop

    Booleaanse

    Of het venster altijd bovenaan moet staan.

  • gefocust

    Booleaanse

    Of het venster momenteel het focusvenster is.

  • hoogte

    nummer optioneel

    De hoogte van het venster, inclusief het frame, in pixels. In sommige gevallen kan aan een venster geen height eigenschap worden toegewezen, bijvoorbeeld bij het opvragen van gesloten vensters via de sessions API.

  • id

    nummer optioneel

    De ID van het venster. Venster-ID's zijn uniek binnen een browsersessie. In sommige gevallen kan aan een venster geen ID eigenschap worden toegewezen, bijvoorbeeld bij het raadplegen van vensters via de sessions API. In dat geval kan er wel een sessie-ID aanwezig zijn.

  • incognito

    Booleaanse

    Of het venster incognito is.

  • links

    nummer optioneel

    De offset van het venster ten opzichte van de linkerrand van het scherm in pixels. In sommige gevallen kan een venster geen left toegewezen krijgen, bijvoorbeeld bij het opvragen van gesloten vensters via de sessions API.

  • sessie-ID

    string optioneel

    De sessie-ID die wordt gebruikt om een venster eenduidig te identificeren, verkregen via de sessions API.

  • staat

    WindowState optioneel

    De status van dit browservenster.

  • tabbladen

    Tabblad [] optioneel

    Matrix van tabs.Tab Tabbladobjecten die de huidige tabbladen in het venster voorstellen.

  • bovenkant

    nummer optioneel

    De offset van het venster ten opzichte van de bovenrand van het scherm in pixels. In sommige gevallen kan een venster geen top eigenschap toegewezen krijgen, bijvoorbeeld bij het opvragen van gesloten vensters via de sessions API.

  • type

    WindowType optioneel

    Het type browservenster dat dit is.

  • breedte

    nummer optioneel

    De breedte van het venster, inclusief het frame, in pixels. In sommige gevallen kan aan een venster geen width eigenschap worden toegewezen, bijvoorbeeld bij het opvragen van gesloten vensters via de sessions API.

WindowState

Chroom 44+

De status van dit browservenster. In sommige gevallen wordt aan een venster mogelijk geen state toegewezen, bijvoorbeeld bij het opvragen van gesloten vensters via de sessions API.

Enum

"normaal"
Normale vensterstatus (niet geminimaliseerd, gemaximaliseerd of volledig scherm).

"geminimaliseerd"
Geminimaliseerde vensterstatus.

"gemaximaliseerd"
Gemaximaliseerde vensterstatus.

"volledig scherm"
Status van volledig schermvenster.

"vergrendeld-volledig scherm"
Vergrendelde status van volledig scherm. Deze status kan niet door de gebruiker worden verlaten en is alleen beschikbaar voor extensies op de toelatingslijst in Chrome OS.

WindowType

Chroom 44+

Het type browservenster dat dit betreft. In sommige gevallen kan een venster geen type eigenschap toegewezen krijgen, bijvoorbeeld bij het opvragen van gesloten vensters via de sessions API.

Enum

"normaal"
Een normaal browservenster.

"pop-up"
Een browser-popup.

"paneel"
Verouderd in deze API. Een venster in de stijl van een Chrome-apppaneel. Extensies kunnen alleen hun eigen paneelvensters zien.

"toepassing"
Verouderd in deze API. Een Chrome-appvenster. Extensies kunnen alleen hun eigen app-vensters zien.

"ontwikkelaars"
Een venster met ontwikkelaarshulpmiddelen.

Eigenschappen

WINDOW_ID_CURRENT

De windowId-waarde die het huidige venster vertegenwoordigt.

Waarde

-2

WINDOW_ID_NONE

De windowId-waarde die de afwezigheid van een Chrome-browservenster vertegenwoordigt.

Waarde

-1

Methoden

create()

chrome.windows.create(
  createData?: object,
)
: Promise<Window | undefined>

Maakt (opent) een nieuw browservenster met de optionele afmetingen, positie of standaard-URL die u hebt opgegeven.

Parameters

  • createData

    object optioneel

    • gefocust

      boolean optioneel

      Indien true , wordt een actief venster geopend. Indien false , wordt een inactief venster geopend.

    • hoogte

      nummer optioneel

      De hoogte in pixels van het nieuwe venster, inclusief het frame. Indien niet opgegeven, wordt standaard de natuurlijke hoogte gebruikt.

    • incognito

      boolean optioneel

      Of het nieuwe venster een incognitovenster moet zijn.

    • links

      nummer optioneel

      Het aantal pixels waarmee het nieuwe venster vanaf de linkerrand van het scherm wordt gepositioneerd. Indien niet opgegeven, wordt het nieuwe venster op natuurlijke wijze verschoven ten opzichte van het laatst gefocuste venster. Deze waarde wordt genegeerd voor panelen.

    • setSelfAsOpener

      boolean optioneel

      Chroom 64+

      Als deze optie true , wordt de 'window.opener' van het nieuw aangemaakte venster ingesteld op de aanroeper en bevindt deze zich in dezelfde eenheid van gerelateerde browsercontexten als de aanroeper.

    • staat

      WindowState optioneel

      Chroom 44+

      De begintoestand van het venster. De minimized , maximized en fullscreen toestanden kunnen niet worden gecombineerd met left , top , width height .

    • tabbladId

      nummer optioneel

      De ID van het tabblad dat aan het nieuwe venster moet worden toegevoegd.

    • bovenkant

      nummer optioneel

      Het aantal pixels waarmee het nieuwe venster vanaf de bovenrand van het scherm wordt gepositioneerd. Indien niet opgegeven, wordt het nieuwe venster op natuurlijke wijze verschoven ten opzichte van het laatst gefocuste venster. Deze waarde wordt genegeerd voor panelen.

    • type

      CreateType optioneel

      Hiermee geeft u aan welk type browservenster u wilt maken.

    • url

      string | string[] optioneel

      Een URL of een reeks URL's die als tabbladen in het venster worden geopend. Volledig gekwalificeerde URL's moeten een schema bevatten, bijvoorbeeld 'http://www.google.com', niet 'www.google.com'. Niet-volledig gekwalificeerde URL's worden binnen de extensie als relatief beschouwd. Standaard wordt de pagina 'Nieuw tabblad' gebruikt.

    • breedte

      nummer optioneel

      De breedte in pixels van het nieuwe venster, inclusief het frame. Indien niet opgegeven, wordt standaard de natuurlijke breedte gebruikt.

Retourneren

  • Promise< Venster | undefined>

    Chroom 88+

get()

chrome.windows.get(
  windowId: number,
  queryOptions?: QueryOptions,
)
: Promise<Window>

Geeft details over een venster.

Parameters

  • venster-ID

    nummer

  • queryopties

    QueryOptions optioneel

    Chroom 88+

Retourneren

getAll()

chrome.windows.getAll(
  queryOptions?: QueryOptions,
)
: Promise<Window[]>

Krijgt alle vensters.

Parameters

Retourneren

getCurrent()

chrome.windows.getCurrent(
  queryOptions?: QueryOptions,
)
: Promise<Window>

Haalt het huidige venster op.

Parameters

Retourneren

getLastFocused()

chrome.windows.getLastFocused(
  queryOptions?: QueryOptions,
)
: Promise<Window>

Hiermee krijgt u het venster dat als laatste de focus had, meestal het venster 'bovenaan'.

Parameters

Retourneren

remove()

chrome.windows.remove(
  windowId: number,
)
: Promise<void>

Verwijdert (sluit) een venster en alle tabbladen daarin.

Parameters

  • venster-ID

    nummer

Retourneren

  • Belofte<leegte>

    Chroom 88+

update()

chrome.windows.update(
  windowId: number,
  updateInfo: object,
)
: Promise<Window>

Werkt de eigenschappen van een venster bij. Geef alleen de eigenschappen op die gewijzigd moeten worden; niet-gespecificeerde eigenschappen blijven ongewijzigd.

Parameters

  • venster-ID

    nummer

  • updateInfo

    voorwerp

    • aandacht trekken

      boolean optioneel

      Indien true , wordt het venster weergegeven op een manier die de aandacht van de gebruiker vestigt op het venster, zonder het gefocuste venster te wijzigen. Het effect blijft actief totdat de gebruiker de focus naar het venster verplaatst. Deze optie heeft geen effect als het venster al focus heeft. Stel in op false om een eerdere drawAttention aanvraag te annuleren.

    • gefocust

      boolean optioneel

      Indien true , wordt het venster naar voren gebracht; kan niet worden gecombineerd met de status 'geminimaliseerd'. Indien false , wordt het volgende venster in de z-volgorde naar voren gebracht; kan niet worden gecombineerd met de status 'volledig scherm' of 'gemaximaliseerd'.

    • hoogte

      nummer optioneel

      De hoogte waarnaar het venster moet worden aangepast in pixels. Deze waarde wordt genegeerd voor panelen.

    • links

      nummer optioneel

      De offset vanaf de linkerrand van het scherm waarnaar het venster moet worden verplaatst, in pixels. Deze waarde wordt genegeerd voor panelen.

    • staat

      WindowState optioneel

      De nieuwe status van het venster. De statussen 'geminimaliseerd', 'gemaximaliseerd' en 'volledig scherm' kunnen niet worden gecombineerd met 'links', 'boven', 'breedte' of 'hoogte'.

    • bovenkant

      nummer optioneel

      De offset vanaf de bovenrand van het scherm waarnaar het venster moet worden verplaatst, in pixels. Deze waarde wordt genegeerd voor panelen.

    • breedte

      nummer optioneel

      De breedte waarnaar het venster moet worden aangepast in pixels. Deze waarde wordt genegeerd voor panelen.

Retourneren

Evenementen

onBoundsChanged

Chroom 86+
chrome.windows.onBoundsChanged.addListener(
  callback: function,
)

Wordt geactiveerd wanneer de grootte van een venster wordt gewijzigd. Deze gebeurtenis wordt alleen verzonden wanneer de nieuwe grenzen zijn vastgelegd, en niet bij wijzigingen die nog in uitvoering zijn.

Parameters

  • terugbellen

    functie

    De callback ziet er als volgt uit:

    (window: Window) => void

onCreated

chrome.windows.onCreated.addListener(
  callback: function,
  filters?: object,
)

Wordt geactiveerd wanneer een venster wordt aangemaakt.

Parameters

  • terugbellen

    functie

    Chroom 46+

    De callback ziet er als volgt uit:

    (window: Window) => void

    • raam

      Details van het gemaakte venster.

  • filters

    object optioneel

    • venstertypen

      Voorwaarden waaraan het venstertype dat wordt aangemaakt, moet voldoen. Standaard voldoet het aan ['normal', 'popup'] .

onFocusChanged

chrome.windows.onFocusChanged.addListener(
  callback: function,
  filters?: object,
)

Wordt geactiveerd wanneer het momenteel gefocuste venster verandert. Retourneert chrome.windows.WINDOW_ID_NONE als alle Chrome-vensters de focus hebben verloren. Opmerking: bij sommige Linux-vensterbeheerders wordt WINDOW_ID_NONE altijd direct vóór een wisseling van het ene Chrome-venster naar het andere verzonden.

Parameters

  • terugbellen

    functie

    Chroom 46+

    De callback ziet er als volgt uit:

    (windowId: number) => void

    • venster-ID

      nummer

      ID van het nieuw geselecteerde venster.

  • filters

    object optioneel

    • venstertypen

      Voorwaarden waaraan het te verwijderen venstertype moet voldoen. Standaard voldoet het aan ['normal', 'popup'] .

onRemoved

chrome.windows.onRemoved.addListener(
  callback: function,
  filters?: object,
)

Wordt geactiveerd wanneer een raam wordt verwijderd (gesloten).

Parameters

  • terugbellen

    functie

    Chroom 46+

    De callback ziet er als volgt uit:

    (windowId: number) => void

    • venster-ID

      nummer

      ID van het verwijderde venster.

  • filters

    object optioneel

    • venstertypen

      Voorwaarden waaraan het te verwijderen venstertype moet voldoen. Standaard voldoet het aan ['normal', 'popup'] .