Beschrijving
Gebruik de chrome.windows
API voor interactie met browservensters. U kunt deze API gebruiken om vensters in de browser te maken, aan te passen en opnieuw in te delen.
Manifest
Op verzoek bevat een windows.Window
een reeks tabs.Tab
-objecten. U moet de machtiging "tabs"
in uw manifest declareren als u toegang nodig heeft 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 gebruiken een optioneel windowId
argument, dat standaard het huidige venster gebruikt.
Het huidige venster is het venster dat de code bevat die momenteel wordt uitgevoerd. Het is belangrijk om te beseffen dat dit anders kan zijn dan het bovenste of gefocuste venster.
Stel bijvoorbeeld dat een extensie een paar tabbladen of vensters maakt uit één enkel HTML-bestand, en dat het HTML-bestand een aanroep bevat naar tabs.query()
. Het huidige venster is het venster dat de pagina bevat die de oproep heeft gedaan, ongeacht het bovenste venster.
In het geval van servicemedewerkers valt de waarde van het huidige venster terug naar het laatste actieve venster. Onder bepaalde omstandigheden is er mogelijk geen actueel venster voor achtergrondpagina's.
Voorbeelden
Om deze API te proberen, installeert u het Windows API-voorbeeld uit de chrome-extension-samples- repository.
Soorten
CreateType
Specificeert welk type browservenster moet worden gemaakt. 'panel' is beëindigd en is alleen beschikbaar voor bestaande extensies op de toelatingslijst in Chrome OS.
Enum
"normaal" "pop-up" "paneel"
Specificeert het venster als een standaardvenster.
Specificeert het venster als een pop-upvenster.
Specificeert het venster als een paneel.
QueryOptions
Eigenschappen
- bevolken
Booleaans optioneel
Indien waar, heeft het
windows.Window
object eentabs
eigenschap die een lijst met detabs.Tab
objecten bevat. DeTab
objecten bevatten alleen de eigenschappenurl
,pendingUrl
,title
enfavIconUrl
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, is het standaardfilter ingesteld op['normal', 'popup']
.
Window
Eigenschappen
- altijdOnTop
Booleaans
Of het venster altijd bovenaan staat.
- gefocust
Booleaans
Of het venster momenteel het focusvenster is.
- hoogte
nummer optioneel
De hoogte van het venster, inclusief het frame, in pixels. In sommige omstandigheden kan het zijn dat aan een raam geen
height
eigenschap wordt toegewezen; bijvoorbeeld bij het opvragen van gesloten vensters vanuit desessions
API. - Identiteitskaart
nummer optioneel
De ID van het venster. Venster-ID's zijn uniek binnen een browsersessie. In bepaalde omstandigheden kan het zijn dat aan een venster geen
ID
eigenschap wordt toegewezen; bijvoorbeeld bij het opvragen van vensters met behulp van desessions
API, in welk geval een sessie-ID aanwezig kan zijn. - incognito
Booleaans
Of het venster incognito is.
- links
nummer optioneel
De afstand van het venster vanaf de linkerrand van het scherm in pixels. In sommige omstandigheden kan het voorkomen dat een raam geen
left
krijgt toegewezen; bijvoorbeeld bij het opvragen van gesloten vensters vanuit desessions
API. - sessieId
tekenreeks optioneel
De sessie-ID die wordt gebruikt om een venster uniek te identificeren, verkregen uit de
sessions
API. - staat
WindowState optioneel
De status van dit browservenster.
- tabbladen
Tabblad [] optioneel
Array van
tabs.Tab
die de huidige tabbladen in het venster vertegenwoordigen. - bovenkant
nummer optioneel
De afstand van het venster vanaf de bovenrand van het scherm in pixels. In bepaalde omstandigheden kan het voorkomen dat een raam geen
top
krijgt toegewezen; bijvoorbeeld bij het opvragen van gesloten vensters vanuit desessions
API. - type
WindowType optioneel
Het type browservenster dat dit is.
- breedte
nummer optioneel
De breedte van het venster, inclusief het frame, in pixels. In bepaalde omstandigheden kan het zijn dat aan een venster geen
width
eigenschap wordt toegewezen; bijvoorbeeld bij het opvragen van gesloten vensters vanuit desessions
API.
WindowState
De status van dit browservenster. In sommige omstandigheden kan een raam geen state
krijgen; bijvoorbeeld bij het opvragen van gesloten vensters vanuit de sessions
API.
Enum
"normaal" "geminimaliseerd" "gemaximaliseerd" "volledig scherm" "vergrendeld-volledig scherm"
Normale vensterstatus (niet geminimaliseerd, gemaximaliseerd of volledig scherm).
Geminimaliseerde vensterstatus.
Gemaximaliseerde vensterstatus.
Vensterstatus op volledig scherm.
Vergrendelde vensterstatus op volledig scherm. Deze status op volledig scherm kan niet worden beëindigd door gebruikersactie en is alleen beschikbaar voor extensies op de toelatingslijst in Chrome OS.
WindowType
Het type browservenster dat dit is. In sommige omstandigheden kan het voorkomen dat aan een venster geen type
eigenschap wordt toegewezen; bijvoorbeeld bij het opvragen van gesloten vensters vanuit de sessions
API.
Enum
"normaal" "pop-up" "paneel" "app" "ontwikkeltools"
Een normaal browservenster.
Een browserpop-up.
Verouderd in deze API. Een Chrome App-paneelstijlvenster. Extensies kunnen alleen hun eigen paneelvensters zien.
Verouderd in deze API. Een Chrome App-venster. Extensies kunnen alleen hun app-eigen vensters 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 de afwezigheid van een Chrome-browservenster vertegenwoordigt.
Waarde
-1
Methoden
create()
chrome.windows.create(
createData?: object,
callback?: function,
)
Creëert (opent) een nieuw browservenster met eventuele optionele afmetingen, positie of standaard-URL.
Parameters
- maakGegevens
object optioneel
- gefocust
Booleaans optioneel
Indien
true
, wordt een actief venster geopend. Indienfalse
, wordt een inactief venster geopend. - hoogte
nummer optioneel
De hoogte in pixels van het nieuwe venster, inclusief het frame. Indien niet gespecificeerd, wordt standaard een natuurlijke hoogte gebruikt.
- incognito
Booleaans optioneel
Of het nieuwe venster een incognitovenster moet zijn.
- links
nummer optioneel
Het aantal pixels om het nieuwe venster vanaf de linkerrand van het scherm te positioneren. Indien niet gespecificeerd, wordt het nieuwe venster op natuurlijke wijze verschoven ten opzichte van het laatst gefocuste venster. Deze waarde wordt genegeerd voor panelen.
- setSelfAsOpener
Booleaans optioneel
Chroom 64+Indien
true
wordt de 'window.opener' van het nieuw gemaakte venster ingesteld op de beller en bevindt deze zich in dezelfde eenheid van gerelateerde bladercontexten als de beller. - staat
WindowState optioneel
Chroom 44+De oorspronkelijke staat van het venster. De
minimized
,maximized
enfullscreen
schermstatussen kunnen niet worden gecombineerd metleft
,top
,width
ofheight
. - 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 moet worden gepositioneerd. Indien niet gespecificeerd, wordt het nieuwe venster op natuurlijke wijze verschoven ten opzichte van het laatst gefocuste venster. Deze waarde wordt genegeerd voor panelen.
- type
CreateType optioneel
Specificeert welk type browservenster moet worden gemaakt.
- URL
tekenreeks | tekenreeks[] 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 ingesteld op de nieuwe tabbladpagina.
- breedte
nummer optioneel
De breedte in pixels van het nieuwe venster, inclusief het frame. Indien niet gespecificeerd, wordt standaard een natuurlijke breedte gebruikt.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(window?: Window) => void
- raam
Venster optioneel
Bevat details over het gemaakte venster.
Retouren
Belofte< Venster | ongedefinieerd>
Chroom 88+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
get()
chrome.windows.get(
windowId: number,
queryOptions?: QueryOptions,
callback?: function,
)
Krijgt details over een venster.
Parameters
- vensterId
nummer
- queryOpties
QueryOptions optioneel
Chroom 88+ - terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(window: Window) => void
- raam
Retouren
Beloof <Venster>
Chroom 88+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
getAll()
chrome.windows.getAll(
queryOptions?: QueryOptions,
callback?: function,
)
Krijgt alle vensters.
Parameters
- queryOpties
QueryOptions optioneel
Chroom 88+ - terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(windows: Window[]) => void
- ramen
Raam []
Retouren
Beloof < Venster []>
Chroom 88+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
getCurrent()
chrome.windows.getCurrent(
queryOptions?: QueryOptions,
callback?: function,
)
Haalt het huidige venster op.
Parameters
- queryOpties
QueryOptions optioneel
Chroom 88+ - terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(window: Window) => void
- raam
Retouren
Beloof <Venster>
Chroom 88+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
getLastFocused()
chrome.windows.getLastFocused(
queryOptions?: QueryOptions,
callback?: function,
)
Haalt het venster op dat het meest recentelijk gefocust was — meestal het venster 'bovenaan'.
Parameters
- queryOpties
QueryOptions optioneel
Chroom 88+ - terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(window: Window) => void
- raam
Retouren
Beloof <Venster>
Chroom 88+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
remove()
chrome.windows.remove(
windowId: number,
callback?: function,
)
Verwijdert (sluit) een venster en alle tabbladen daarin.
Parameters
- vensterId
nummer
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:() => void
Retouren
Beloof <nietig>
Chroom 88+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
update()
chrome.windows.update(
windowId: number,
updateInfo: object,
callback?: function,
)
Werkt de eigenschappen van een venster bij. Geef alleen de eigenschappen op die moeten worden gewijzigd; niet-gespecificeerde eigenschappen blijven ongewijzigd.
Parameters
- vensterId
nummer
- updateInfo
voorwerp
- trekAandacht
Booleaans optioneel
Als
true
, wordt het venster weergegeven op een manier die de aandacht van de gebruiker op het venster vestigt, zonder dat het venster waarin de focus ligt wordt gewijzigd. Het effect houdt aan totdat de gebruiker de focus naar het venster verlegt. Deze optie heeft geen effect als het venster al focus heeft. Stel deze in opfalse
om een eerderdrawAttention
verzoek te annuleren. - gefocust
Booleaans optioneel
Als
true
, wordt het venster naar voren gebracht; kan niet worden gecombineerd met de 'geminimaliseerde' staat. Indienfalse
, 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 vergroot 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 staat van het raam. 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 vergroot in pixels. Deze waarde wordt genegeerd voor panelen.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(window: Window) => void
- raam
Retouren
Beloof <Venster>
Chroom 88+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
Evenementen
onBoundsChanged
chrome.windows.onBoundsChanged.addListener(
callback: function,
)
Wordt geactiveerd wanneer het formaat van een venster is gewijzigd; deze gebeurtenis wordt alleen verzonden als de nieuwe grenzen zijn vastgelegd, en niet voor lopende wijzigingen.
Parameters
- terugbellen
functie
De
callback
parameter ziet er als volgt uit:(window: Window) => void
- raam
onCreated
chrome.windows.onCreated.addListener(
callback: function,
filters?: object,
)
Wordt geactiveerd wanneer een venster wordt gemaakt.
Parameters
- terugbellen
functie
Chroom 46+De
callback
parameter ziet er als volgt uit:(window: Window) => void
- raam
Details van het gemaakte venster.
- filters
object optioneel
- vensterTypen
Venstertype []
Voorwaarden waaraan het venstertype dat wordt gemaakt, 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 onmiddellijk voorafgaand aan het overschakelen van het ene Chrome-venster naar het andere verzonden.
Parameters
- terugbellen
functie
Chroom 46+De
callback
parameter ziet er als volgt uit:(windowId: number) => void
- vensterId
nummer
ID van het nieuw gefocuste venster.
- filters
object optioneel
- vensterTypen
Venstertype []
Voorwaarden waaraan het type venster dat wordt verwijderd moet voldoen. Standaard voldoet het aan
['normal', 'popup']
.
onRemoved
chrome.windows.onRemoved.addListener(
callback: function,
filters?: object,
)
Wordt afgevuurd wanneer een raam wordt verwijderd (gesloten).
Parameters
- terugbellen
functie
Chroom 46+De
callback
parameter ziet er als volgt uit:(windowId: number) => void
- vensterId
nummer
ID van het verwijderde venster.
- filters
object optioneel
- vensterTypen
Venstertype []
Voorwaarden waaraan het type venster dat wordt verwijderd moet voldoen. Standaard voldoet het aan
['normal', 'popup']
.