chroom.ramen

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.

Machtigingen

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"],
  ...
}

Concepten en gebruik

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.

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

Soorten

CreateType

Chroom 44+

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"
Specificeert het venster als een standaardvenster.

"pop-up"
Specificeert het venster als een pop-upvenster.

"paneel"
Specificeert het venster als een paneel.

QueryOptions

Chroom 88+

Eigenschappen

  • bevolken

    Booleaans optioneel

    Indien waar, 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, 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 de sessions 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 de sessions 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 de sessions 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 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 bepaalde omstandigheden kan aan een venster geen width eigenschap worden toegewezen; bijvoorbeeld bij het opvragen van gesloten vensters vanuit de sessions API.

WindowState

Chroom 44+

De status van dit browservenster. In sommige omstandigheden kan het voorkomen dat een raam geen state krijgt; bijvoorbeeld bij het opvragen van gesloten vensters vanuit de sessions API.

Enum

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

"geminimaliseerd"
Geminimaliseerde vensterstatus.

"gemaximaliseerd"
Gemaximaliseerde vensterstatus.

"volledig scherm"
Vensterstatus op volledig scherm.

"vergrendeld-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

Chroom 44+

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"
Een normaal browservenster.

"pop-up"
Een browserpop-up.

"paneel"
Verouderd in deze API. Een Chrome App-paneelstijlvenster. Extensies kunnen alleen hun eigen paneelvensters zien.

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

"ontwikkeltools"
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()

Belofte
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. Indien false , 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 en fullscreen schermstatussen kunnen niet worden gecombineerd met left , top , width of height .

    • 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+

    Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.

get()

Belofte
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

Retouren

  • Beloof <Venster>

    Chroom 88+

    Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.

getAll()

Belofte
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

Retouren

  • Beloof < Venster []>

    Chroom 88+

    Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.

getCurrent()

Belofte
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

Retouren

  • Beloof <Venster>

    Chroom 88+

    Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.

getLastFocused()

Belofte
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

Retouren

  • Beloof <Venster>

    Chroom 88+

    Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.

remove()

Belofte
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+

    Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.

update()

Belofte
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 op false om een ​​eerder drawAttention verzoek te annuleren.

    • gefocust

      Booleaans optioneel

      Als true , wordt het venster naar voren gebracht; kan niet worden gecombineerd met de 'geminimaliseerde' staat. 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 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

Retouren

  • Beloof <Venster>

    Chroom 88+

    Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.

Evenementen

onBoundsChanged

Chroom 86+
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

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

      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

      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

      Voorwaarden waaraan het type venster dat wordt verwijderd moet voldoen. Standaard voldoet het aan ['normal', 'popup'] .