Beschrijving
Gebruik de chrome.windows API om met browservensters te communiceren. Met deze API kunt u vensters in de browser maken, wijzigen en herschikken.
Manifest
Wanneer daarom wordt gevraagd, bevat een windows.Window een array van tabs.Tab objecten. U moet de "tabs" -machtiging 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"],
...
}
Het huidige venster
Veel functies in het extensiesysteem accepteren een optioneel argument windowId , dat standaard het huidige venster is.
Het huidige venster is het venster dat de code bevat die momenteel wordt uitgevoerd. Het is belangrijk om te beseffen dat dit een ander venster kan zijn dan het bovenste of het geselecteerde venster.
Stel bijvoorbeeld dat een extensie een aantal tabbladen of vensters aanmaakt vanuit één HTML-bestand, en dat dit HTML-bestand een aanroep naar tabs.query() bevat. Het huidige venster is dan het venster dat de pagina bevat die de aanroep heeft gedaan, ongeacht welk venster zich bovenaan bevindt.
In het geval van serviceworkers wordt de waarde van het huidige venster teruggezet naar het laatst actieve venster. Onder bepaalde omstandigheden kan er voor achtergrondpagina's geen actief venster zijn.
Voorbeelden

Om deze API uit te proberen, installeer je het Windows API-voorbeeld uit de chrome-extension-samples repository.
Soorten
CreateType
Hiermee wordt bepaald welk type browservenster moet worden aangemaakt. 'panel' is verouderd en is alleen beschikbaar voor bestaande, toegestane extensies op Chrome OS.
Enum
"normaal" "pop-up" "paneel"
Hiermee wordt het venster als een standaardvenster gespecificeerd.
Hiermee wordt het venster als een pop-upvenster ingesteld.
Specificeert het venster als een paneel.
QueryOptions
Eigenschappen
- bevolken
boolean optioneel
Indien waar, heeft het
windows.Window-object eentabseigenschap die een lijst van detabs.Tabobjecten bevat. DeTabobjecten bevatten alleen de eigenschappenurl,pendingUrl,titleenfavIconUrlals het manifestbestand van de extensie de"tabs"-toestemming bevat. - venstertypen
WindowType [] optioneel
Indien ingesteld, wordt het geretourneerde
windows.Windowgefilterd op basis van het type. Indien niet ingesteld, wordt het standaardfilter ingesteld op['normal', 'popup'].
Window
Eigenschappen
- alwaysOnTop
booleaans
Of het venster zo is ingesteld dat het altijd bovenaan staat.
- gericht
booleaans
Of het venster momenteel het geselecteerde venster is.
- hoogte
nummer optioneel
De hoogte van het venster, inclusief de rand, in pixels. In sommige gevallen heeft een venster mogelijk geen
heighteigenschap; bijvoorbeeld bij het opvragen van gesloten vensters via desessionsAPI. - id
nummer optioneel
De ID van het venster. Venster-ID's zijn uniek binnen een browsersessie. In sommige gevallen heeft een venster mogelijk geen
IDeigenschap; bijvoorbeeld bij het opvragen van vensters via desessionsAPI, in welk geval een sessie-ID aanwezig kan zijn. - incognito
booleaans
Of het venster nu incognito is.
- links
nummer optioneel
De afstand van het venster tot de linkerrand van het scherm in pixels. In sommige gevallen heeft een venster mogelijk geen '
lefteigenschap; bijvoorbeeld bij het opvragen van gesloten vensters via desessionsAPI. - sessie-ID
string optioneel
De sessie-ID die wordt gebruikt om een venster uniek te identificeren, verkregen via de
sessionsAPI. - staat
WindowState optioneel
De status van dit browservenster.
- tabbladen
Tab [] optioneel
Een array van
tabs.Tabobjecten die de huidige tabbladen in het venster vertegenwoordigen. - bovenkant
nummer optioneel
De afstand van het venster tot de bovenrand van het scherm in pixels. In sommige gevallen heeft een venster mogelijk geen '
topeigenschap; bijvoorbeeld bij het opvragen van gesloten vensters via desessionsAPI. - type
WindowType optioneel
Dit is het type browservenster.
- breedte
nummer optioneel
De breedte van het venster, inclusief de rand, in pixels. In sommige gevallen heeft een venster mogelijk geen
widtheigenschap; bijvoorbeeld bij het opvragen van gesloten vensters via desessionsAPI.
WindowState
De status van dit browservenster. In sommige gevallen heeft een venster mogelijk geen state ; bijvoorbeeld bij het opvragen van gesloten vensters via de sessions API.
Enum
"normaal" "geminimaliseerd" "gemaximaliseerd" "volledig scherm"
Normale vensterstatus (niet geminimaliseerd, gemaximaliseerd of volledig scherm).
Venster geminimaliseerd.
Maximale vensterstatus.
Volledig scherm in de venstermodus.
WindowType
Het type browservenster. In sommige gevallen wordt aan een venster geen type eigenschap toegekend; bijvoorbeeld bij het opvragen van gesloten vensters via de sessions API.
Enum
"normaal" "pop-up" "paneel" "app" "ontwikkeltools"
Een normaal browservenster.
Een pop-upvenster in de browser.
Verouderd in deze API. Een paneelachtig venster van een Chrome-app. Extensies kunnen alleen hun eigen paneelvensters zien.
Verouderd in deze API. Een Chrome-appvenster. Extensies kunnen alleen hun eigen appvensters zien.
Een venster met ontwikkelaarstools.
Eigenschappen
WINDOW_ID_CURRENT
De windowId-waarde die het huidige venster vertegenwoordigt.
Waarde
-2
WINDOW_ID_NONE
De windowId-waarde die aangeeft dat er geen Chrome-browservenster actief is.
Waarde
-1
Methoden
create()
chrome.windows.create(
createData?: object,
callback?: function,
): Promise<Window | undefined>
Hiermee wordt een nieuw browservenster geopend met de gewenste afmetingen, positie of standaard-URL.
Parameters
- createData
object optioneel
- gericht
boolean optioneel
Als
true, wordt een actief venster geopend. Alsfalse, wordt een inactief venster geopend. - hoogte
nummer optioneel
De hoogte in pixels van het nieuwe venster, inclusief de rand. Indien niet gespecificeerd, wordt standaard een 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 geplaatst. Indien niet gespecificeerd, wordt het nieuwe venster op natuurlijke wijze verschoven ten opzichte van het laatst geselecteerde venster. Deze waarde wordt genegeerd voor panelen.
- setSelfAsOpener
boolean optioneel
Chrome 64+Indien
true, wordt de 'window.opener' van het nieuw gecreëerde venster ingesteld op de aanroeper en bevindt het zich in dezelfde eenheid van gerelateerde browsecontexten als de aanroeper. - staat
WindowState optioneel
Chrome 44+De beginstatus van het venster. De
minimized,maximizedenfullscreenschermstatus kunnen niet worden gecombineerd metleft,top,widthofheight. - tabId
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 gespecificeerd, wordt het nieuwe venster op natuurlijke wijze verschoven ten opzichte van het laatst geselecteerde venster. Deze waarde wordt genegeerd voor panelen.
- type
CreateType optioneel
Hiermee wordt gespecificeerd welk type browservenster moet worden aangemaakt.
- URL
string | string[] optioneel
Een URL of een reeks URL's die als tabbladen in het venster moeten 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 de rand. Indien niet gespecificeerd, wordt standaard een natuurlijke breedte gebruikt.
- terugbelverzoek
functie optioneel
De
callbackparameter ziet er als volgt uit:(window?: Window) => void
- raam
Venster optioneel
Bevat details over het aangemaakte venster.
Retourneert
Promise< Window | undefined>
Chrome 88+Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.
get()
chrome.windows.get(
windowId: number,
queryOptions?: QueryOptions,
callback?: function,
): Promise<Window>
Geeft details over een raam weer.
Parameters
- venster-ID
nummer
- queryOptions
QueryOptions optioneel
Chrome 88+ - terugbelverzoek
functie optioneel
De
callbackparameter ziet er als volgt uit:(window: Window) => void
- raam
Retourneert
Belofte< Venster >
Chrome 88+Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.
getAll()
chrome.windows.getAll(
queryOptions?: QueryOptions,
callback?: function,
): Promise<Window[]>
Krijgt alle vensters.
Parameters
- queryOptions
QueryOptions optioneel
Chrome 88+ - terugbelverzoek
functie optioneel
De
callbackparameter ziet er als volgt uit:(windows: Window[]) => void
- ramen
Raam []
Retourneert
Promise< Window []>
Chrome 88+Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.
getCurrent()
chrome.windows.getCurrent(
queryOptions?: QueryOptions,
callback?: function,
): Promise<Window>
Geeft het huidige venster weer.
Parameters
- queryOptions
QueryOptions optioneel
Chrome 88+ - terugbelverzoek
functie optioneel
De
callbackparameter ziet er als volgt uit:(window: Window) => void
- raam
Retourneert
Belofte< Venster >
Chrome 88+Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.
getLastFocused()
chrome.windows.getLastFocused(
queryOptions?: QueryOptions,
callback?: function,
): Promise<Window>
Selecteert het venster dat het laatst was geselecteerd — meestal het venster 'bovenaan'.
Parameters
- queryOptions
QueryOptions optioneel
Chrome 88+ - terugbelverzoek
functie optioneel
De
callbackparameter ziet er als volgt uit:(window: Window) => void
- raam
Retourneert
Belofte< Venster >
Chrome 88+Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.
remove()
chrome.windows.remove(
windowId: number,
callback?: function,
): Promise<void>
Sluit een venster en alle tabbladen daarin.
Parameters
- venster-ID
nummer
- terugbelverzoek
functie optioneel
De
callbackparameter ziet er als volgt uit:() => void
Retourneert
Promise<void>
Chrome 88+Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.
update()
chrome.windows.update(
windowId: number,
updateInfo: object,
callback?: function,
): Promise<Window>
Hiermee worden de eigenschappen van een venster bijgewerkt. Geef alleen de eigenschappen op die gewijzigd moeten worden; niet-opgegeven eigenschappen blijven ongewijzigd.
Parameters
- venster-ID
nummer
- updateInfo
voorwerp
- trekAandacht
boolean optioneel
Indien
true, zorgt dit ervoor dat het venster op een manier wordt weergegeven die de aandacht van de gebruiker trekt, zonder het venster waarop de focus staat te wijzigen. Dit effect duurt totdat de gebruiker de focus naar het venster verplaatst. Deze optie heeft geen effect als het venster al de focus heeft. Stel in opfalseom een eerderdrawAttentionverzoek te annuleren. - gericht
boolean optioneel
Indien
true, wordt het venster naar de voorgrond gebracht; kan niet worden gecombineerd met de status 'geminimaliseerd'. Indienfalse, wordt het volgende venster in de z-volgorde naar de voorgrond 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 afstand 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 afstand 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.
- terugbelverzoek
functie optioneel
De
callbackparameter ziet er als volgt uit:(window: Window) => void
- raam
Retourneert
Belofte< Venster >
Chrome 88+Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.
Evenementen
onBoundsChanged
chrome.windows.onBoundsChanged.addListener(
callback: function,
)
Deze gebeurtenis wordt geactiveerd wanneer een venster van formaat verandert; deze gebeurtenis wordt alleen verzonden wanneer de nieuwe afmetingen zijn opgeslagen, en niet voor wijzigingen die nog gaande zijn.
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(window: Window) => void
- raam
onCreated
chrome.windows.onCreated.addListener(
callback: function,
filters?: object,
)
Wordt geactiveerd wanneer een venster wordt aangemaakt.
Parameters
- terugbelverzoek
functie
Chrome 46+De
callbackparameter ziet er als volgt uit:(window: Window) => void
- raam
Details van het aangemaakte venster.
- filters
object optioneel
- venstertypen
Venstertype []
Voorwaarden waaraan het te creëren venstertype moet voldoen. Standaard voldoet het aan
['normal', 'popup'].
onFocusChanged
chrome.windows.onFocusChanged.addListener(
callback: function,
filters?: object,
)
Wordt geactiveerd wanneer het momenteel actieve 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 verzonden voordat er van het ene Chrome-venster naar het andere wordt overgeschakeld.
Parameters
- terugbelverzoek
functie
Chrome 46+De
callbackparameter ziet er als volgt uit:(windowId: number) => void
- venster-ID
nummer
ID van het zojuist gefocuste venster.
- filters
object optioneel
- venstertypen
Venstertype []
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 venster wordt verwijderd (gesloten).
Parameters
- terugbelverzoek
functie
Chrome 46+De
callbackparameter ziet er als volgt uit:(windowId: number) => void
- venster-ID
nummer
ID van het verwijderde venster.
- filters
object optioneel
- venstertypen
Venstertype []
Voorwaarden waaraan het te verwijderen venstertype moet voldoen. Standaard voldoet het aan
['normal', 'popup'].