Descrizione
Utilizza l'API chrome.windows per interagire con le finestre del browser. Puoi utilizzare questa API per creare, modificare e riorganizzare le finestre nel browser.
Manifest
Se richiesto, un windows.Window contiene un array di oggetti tabs.Tab. Devi dichiarare l'autorizzazione "tabs" nel manifest se hai bisogno di accedere alle proprietà url, pendingUrl, title o favIconUrl di tabs.Tab. Ad esempio:
{
  "name": "My extension",
  ...
  "permissions": ["tabs"],
  ...
}
La finestra corrente
Molte funzioni nel sistema di estensioni accettano un argomento windowId facoltativo, che per impostazione predefinita è la finestra corrente.
La finestra corrente è la finestra che contiene il codice attualmente in esecuzione. È importante tenere presente che questa finestra può essere diversa da quella in primo piano o attiva.
Ad esempio, supponiamo che un'estensione crei alcune schede o finestre da un singolo file HTML e che il
file HTML contenga una chiamata a tabs.query(). La finestra corrente è quella che contiene la
pagina che ha effettuato la chiamata, indipendentemente dalla finestra in primo piano.
Nel caso dei service worker, il valore della finestra corrente torna all'ultima finestra attiva. In alcune circostanze, potrebbe non essere presente alcuna finestra corrente per le pagine in background.
Esempi

Per provare questa API, installa l'esempio di API di Windows dal repository chrome-extension-samples.
Tipi
CreateType
Specifica il tipo di finestra del browser da creare. "panel" è deprecato ed è disponibile solo per le estensioni autorizzate esistenti su ChromeOS.
Enum
"normale" 
 Specifica la finestra come finestra standard.
"popup" 
 Specifica la finestra come finestra popup.
"panel" 
 Specifica la finestra come pannello.
QueryOptions
Proprietà
- 
    compilarebooleano facoltativo Se è true, l'oggetto windows.Windowha una proprietàtabsche contiene un elenco degli oggettitabs.Tab. Gli oggettiTabcontengono solo le proprietàurl,pendingUrl,titleefavIconUrlse il file manifest dell'estensione include l'autorizzazione"tabs".
- 
    windowTypesWindowType[] facoltativo Se impostato, il windows.Windowrestituito viene filtrato in base al tipo. Se non viene impostato, il filtro predefinito è['normal', 'popup'].
Window
Proprietà
- 
    alwaysOnTopbooleano Indica se la finestra è impostata per essere sempre in primo piano. 
- 
    Focalizzatibooleano Indica se la finestra è attualmente attiva. 
- 
    altezzanumber (facoltativo) L'altezza della finestra, incluso il frame, in pixel. In alcune circostanze, a una finestra potrebbe non essere assegnata una proprietà height, ad esempio quando si esegue una query sulle finestre chiuse dall'APIsessions.
- 
    idnumber (facoltativo) L'ID della finestra. Gli ID finestra sono univoci all'interno di una sessione del browser. In alcune circostanze, a una finestra potrebbe non essere assegnata una proprietà ID, ad esempio quando si esegue una query sulle finestre utilizzando l'APIsessions, nel qual caso potrebbe essere presente un ID sessione.
- 
    in incognitobooleano Indica se la finestra è in modalità di navigazione in incognito. 
- 
    sinistranumber (facoltativo) L'offset della finestra dal bordo sinistro dello schermo in pixel. In alcune circostanze, a una finestra potrebbe non essere assegnata una proprietà left, ad esempio quando si esegue una query sulle finestre chiuse dall'APIsessions.
- 
    sessionIdstringa facoltativa L'ID sessione utilizzato per identificare in modo univoco una finestra, ottenuto dall'API sessions.
- 
    statoWindowState facoltativo Lo stato di questa finestra del browser. 
- 
    schedeTab[] facoltativo Array di oggetti tabs.Tabche rappresentano le schede correnti nella finestra.
- 
    in altonumber (facoltativo) L'offset della finestra dal bordo superiore dello schermo in pixel. In alcune circostanze, a una finestra potrebbe non essere assegnata una proprietà top, ad esempio quando si esegue una query sulle finestre chiuse dall'APIsessions.
- 
    tipoWindowType facoltativo Il tipo di finestra del browser. 
- 
    larghezzanumber (facoltativo) La larghezza della finestra, incluso il frame, in pixel. In alcune circostanze, a una finestra potrebbe non essere assegnata una proprietà width, ad esempio quando si esegue una query sulle finestre chiuse dall'APIsessions.
WindowState
Lo stato di questa finestra del browser. In alcune circostanze, a una finestra potrebbe non essere assegnata una proprietà state, ad esempio quando si esegue una query sulle finestre chiuse dall'API sessions.
Enum
"normale" 
 Stato normale della finestra (non ridotta a icona, ingrandita o a schermo intero).
"minimized" 
 Stato della finestra ridotta a icona.
"maximized" 
 Stato della finestra massimizzata.
"fullscreen" 
 Stato della finestra a schermo intero.
"locked-fullscreen" 
 Stato della finestra a schermo intero bloccata. Non è possibile uscire da questa modalità a schermo intero tramite l'azione dell'utente ed è disponibile solo per le estensioni autorizzate su Chrome OS.
WindowType
Il tipo di finestra del browser. In alcune circostanze, a una finestra potrebbe non essere assegnata una proprietà type, ad esempio quando si interrogano finestre chiuse dall'API sessions.
Enum
"normale" 
 Una normale finestra del browser.
"popup" 
 Un popup del browser.
"panel" 
 Obsoleto in questa API. Una finestra in stile pannello delle app Chrome. Le estensioni possono visualizzare solo le proprie finestre del riquadro.
"app" 
 Deprecato in questa API. Una finestra dell'app Chrome. Le estensioni possono visualizzare solo le finestre della propria app.
"devtools" 
 Una finestra degli strumenti per sviluppatori.
Proprietà
WINDOW_ID_CURRENT
Il valore windowId che rappresenta la finestra corrente.
Valore
-2 
 
WINDOW_ID_NONE
Il valore windowId che rappresenta l'assenza di una finestra del browser Chrome.
Valore
-1 
 
Metodi
create()
chrome.windows.create(
createData?: object,
callback?: function,
): Promise<Window | undefined>
Crea (apre) una nuova finestra del browser con le dimensioni, la posizione o l'URL predefinito facoltativi forniti.
Parametri
- 
    createDataoggetto facoltativo - 
    Focalizzatibooleano facoltativo Se true, si apre una finestra attiva. Sefalse, si apre una finestra non attiva.
- 
    altezzanumber (facoltativo) L'altezza in pixel della nuova finestra, incluso il frame. Se non specificato, il valore predefinito è un'altezza naturale. 
- 
    in incognitobooleano facoltativo Indica se la nuova finestra deve essere una finestra di navigazione in incognito. 
- 
    sinistranumber (facoltativo) Il numero di pixel per posizionare la nuova finestra dal bordo sinistro dello schermo. Se non viene specificato, il nuovo riquadro viene spostato naturalmente rispetto all'ultimo riquadro attivo. Questo valore viene ignorato per i riquadri. 
- 
    setSelfAsOpenerbooleano facoltativo Chrome 64+Se true, "window.opener" della finestra appena creata è impostato sul chiamante e si trova nella stessa unità di contesti di navigazione correlati del chiamante.
- 
    statoWindowState facoltativo Chrome 44+Lo stato iniziale della finestra. Gli stati minimized,maximizedefullscreennon possono essere combinati conleft,top,widthoheight.
- 
    tabIdnumber (facoltativo) L'ID della scheda da aggiungere alla nuova finestra. 
- 
    in altonumber (facoltativo) Il numero di pixel per posizionare la nuova finestra dal bordo superiore dello schermo. Se non viene specificato, il nuovo riquadro viene spostato naturalmente rispetto all'ultimo riquadro attivo. Questo valore viene ignorato per i riquadri. 
- 
    tipoCreateType facoltativo Specifica il tipo di finestra del browser da creare. 
- 
    urlstringa | stringa[] facoltativo Un URL o un array di URL da aprire come schede nella finestra. Gli URL completi devono includere uno schema, ad esempio "http://www.google.com", non "www.google.com". Gli URL non completi vengono considerati relativi all'interno dell'estensione. Per impostazione predefinita, viene visualizzata la pagina Nuova scheda. 
- 
    larghezzanumber (facoltativo) La larghezza in pixel della nuova finestra, incluso il frame. Se non specificato, il valore predefinito è una larghezza naturale. 
 
- 
    
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:(window?: Window) => void - 
    finestraFinestra facoltativo Contiene dettagli sulla finestra creata. 
 
- 
    
Resi
- 
            Promise<Window | undefined> Chrome 88+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
get()
chrome.windows.get(
windowId: number,
queryOptions?: QueryOptions,
callback?: function,
): Promise<Window>
Recupera i dettagli di una finestra.
Parametri
- 
    windowIdnumero 
- 
    queryOptionsQueryOptions facoltativo Chrome 88+
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:(window: Window) => void - 
    finestra
 
- 
    
Resi
- 
            Promise<Window> Chrome 88+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
getAll()
chrome.windows.getAll(
queryOptions?: QueryOptions,
callback?: function,
): Promise<Window[]>
Riceve tutte le finestre.
Parametri
- 
    queryOptionsQueryOptions facoltativo Chrome 88+
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:(windows: Window[]) => void - 
    finestreFinestra[] 
 
- 
    
Resi
- 
            Promise<Window[]> Chrome 88+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
getCurrent()
chrome.windows.getCurrent(
queryOptions?: QueryOptions,
callback?: function,
): Promise<Window>
Ottiene la finestra corrente.
Parametri
- 
    queryOptionsQueryOptions facoltativo Chrome 88+
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:(window: Window) => void - 
    finestra
 
- 
    
Resi
- 
            Promise<Window> Chrome 88+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
getLastFocused()
chrome.windows.getLastFocused(
queryOptions?: QueryOptions,
callback?: function,
): Promise<Window>
Recupera la finestra su cui è stato eseguito l'ultimo focus, in genere la finestra "in primo piano".
Parametri
- 
    queryOptionsQueryOptions facoltativo Chrome 88+
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:(window: Window) => void - 
    finestra
 
- 
    
Resi
- 
            Promise<Window> Chrome 88+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
remove()
chrome.windows.remove(
windowId: number,
callback?: function,
): Promise<void>
Rimuove (chiude) una finestra e tutte le schede al suo interno.
Parametri
- 
    windowIdnumero 
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:() => void 
Resi
- 
            Promise<void> Chrome 88+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
update()
chrome.windows.update(
windowId: number,
updateInfo: object,
callback?: function,
): Promise<Window>
Aggiorna le proprietà di una finestra. Specifica solo le proprietà da modificare; le proprietà non specificate rimangono invariate.
Parametri
- 
    windowIdnumero 
- 
    updateInfooggetto - 
    drawAttentionbooleano facoltativo Se true, la finestra viene visualizzata in modo da attirare l'attenzione dell'utente, senza modificare la finestra attiva. L'effetto dura finché l'utente non sposta il focus sulla finestra. Questa opzione non ha effetto se la finestra è già attiva. Impostafalseper annullare una precedente richiesta didrawAttention.
- 
    Focalizzatibooleano facoltativo Se true, porta la finestra in primo piano; non può essere combinato con lo stato "ridotto a icona". Sefalse, porta in primo piano la finestra successiva nell'ordine Z; non può essere combinato con lo stato "schermo intero" o "ingrandita".
- 
    altezzanumber (facoltativo) L'altezza a cui ridimensionare la finestra in pixel. Questo valore viene ignorato per i riquadri. 
- 
    sinistranumber (facoltativo) L'offset dal bordo sinistro dello schermo a cui spostare la finestra in pixel. Questo valore viene ignorato per i riquadri. 
- 
    statoWindowState facoltativo Il nuovo stato della finestra. Gli stati "ridotto a icona", "ingrandito" e "a schermo intero" non possono essere combinati con "sinistra", "alto", "larghezza" o "altezza". 
- 
    in altonumber (facoltativo) L'offset dal bordo superiore dello schermo a cui spostare la finestra in pixel. Questo valore viene ignorato per i riquadri. 
- 
    larghezzanumber (facoltativo) La larghezza a cui ridimensionare la finestra in pixel. Questo valore viene ignorato per i riquadri. 
 
- 
    
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:(window: Window) => void - 
    finestra
 
- 
    
Resi
- 
            Promise<Window> Chrome 88+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
Eventi
onBoundsChanged
chrome.windows.onBoundsChanged.addListener(
callback: function,
)
Attivato quando una finestra è stata ridimensionata. Questo evento viene inviato solo quando vengono applicati i nuovi limiti e non per le modifiche in corso.
Parametri
- 
    callbackfunzione Il parametro callbackha il seguente aspetto:(window: Window) => void - 
    finestra
 
- 
    
onCreated
chrome.windows.onCreated.addListener(
callback: function,
filters?: object,
)
Attivato quando viene creata una finestra.
Parametri
- 
    callbackfunzione Chrome 46 o versioni successiveIl parametro callbackha il seguente aspetto:(window: Window) => void - 
    finestraDettagli della finestra creata. 
 
- 
    
- 
    filtrioggetto facoltativo - 
    windowTypesCondizioni che il tipo di finestra in fase di creazione deve soddisfare. Per impostazione predefinita, soddisfa ['normal', 'popup'].
 
- 
    
onFocusChanged
chrome.windows.onFocusChanged.addListener(
callback: function,
filters?: object,
)
Attivato quando cambia la finestra attualmente selezionata. Restituisce chrome.windows.WINDOW_ID_NONE se tutte le finestre di Chrome hanno perso lo stato attivo. Nota:in alcuni window manager Linux, WINDOW_ID_NONE viene sempre inviato immediatamente prima di passare da una finestra di Chrome all'altra.
Parametri
- 
    callbackfunzione Chrome 46 o versioni successiveIl parametro callbackha il seguente aspetto:(windowId: number) => void - 
    windowIdnumero ID della finestra appena messa a fuoco. 
 
- 
    
- 
    filtrioggetto facoltativo - 
    windowTypesCondizioni che devono essere soddisfatte per la rimozione del tipo di finestra. Per impostazione predefinita, soddisfa ['normal', 'popup'].
 
- 
    
onRemoved
chrome.windows.onRemoved.addListener(
callback: function,
filters?: object,
)
Attivato quando una finestra viene rimossa (chiusa).
Parametri
- 
    callbackfunzione Chrome 46 o versioni successiveIl parametro callbackha il seguente aspetto:(windowId: number) => void - 
    windowIdnumero ID della finestra rimossa. 
 
- 
    
- 
    filtrioggetto facoltativo - 
    windowTypesCondizioni che devono essere soddisfatte per la rimozione del tipo di finestra. Per impostazione predefinita, soddisfa ['normal', 'popup'].
 
-