chrome.app.window

Descrizione

Utilizza l'API chrome.app.window per creare finestre. Le finestre hanno una cornice facoltativa con barra del titolo e controlli di ridimensionamento. Non sono associate ad alcuna finestra del browser Chrome. Per una dimostrazione di queste opzioni, consulta l'esempio di stato della finestra.

Tipi

AppWindow

Proprietà

  • contentWindow

    Finestra

    L'oggetto "window" JavaScript per l'elemento secondario creato.

  • id

    stringa

    L'ID con cui è stata creata la finestra.

  • innerBounds

    La posizione, le dimensioni e i vincoli dei contenuti della finestra, che non includono le decorazioni della finestra. Questa proprietà è nuova in Chrome 36.

  • outerBounds

    La posizione, le dimensioni e i vincoli della finestra, che includono le decorazioni della finestra, come la barra del titolo e la cornice. Questa proprietà è una novità di Chrome 36.

  • clearAttention

    void

    Attenzione chiara alla finestra.

    La funzione clearAttention ha il seguente aspetto:

    () => {...}

  • chiudi

    void

    Chiudi la finestra.

    La funzione close ha il seguente aspetto:

    () => {...}

  • drawAttention

    void

    Attira l'attenzione sulla finestra.

    La funzione drawAttention ha il seguente aspetto:

    () => {...}

  • messa a fuoco

    void

    Impostare lo stato attivo sulla finestra.

    La funzione focus ha il seguente aspetto:

    () => {...}

  • schermo intero

    void

    Visualizza la finestra a schermo intero.

    L'utente potrà ripristinare la finestra premendo ESC. Un'applicazione può impedire l'uscita dallo stato a schermo intero quando viene premuto ESC richiedendo l'autorizzazione app.window.fullscreen.overrideEsc e annullando l'evento chiamando .preventDefault() nei gestori keydown e keyup, in questo modo:

    window.onkeydown = window.onkeyup = function(e) { if (e.keyCode == 27 /* ESC *\/) { e.preventDefault(); } };

    Tieni presente che window.fullscreen() farà sì che l'intera finestra venga visualizzata a schermo intero e non richiede un'attivazione dall'utente. L'API HTML5 per lo schermo intero può essere utilizzata anche per attivare la modalità a schermo intero (per maggiori dettagli, consulta API web).

    La funzione fullscreen ha il seguente aspetto:

    () => {...}

  • getBounds

    void

    Deprecato

    Utilizza innerBounds o outerBounds.

    Recupera i limiti interni della finestra come oggetto ContentBounds.

    La funzione getBounds ha il seguente aspetto:

    () => {...}

  • nascondi

    void

    Nascondi la finestra. Non succede nulla se la finestra è già nascosta.

    La funzione hide ha il seguente aspetto:

    () => {...}

  • isAlwaysOnTop

    void

    La finestra è sempre in primo piano?

    La funzione isAlwaysOnTop ha il seguente aspetto:

    () => {...}

    • returns

      booleano

  • isFullscreen

    void

    La finestra è a schermo intero? Questo valore sarà true se la finestra è stata creata a schermo intero o è stata impostata a schermo intero tramite le API AppWindow o HTML5 per lo schermo intero.

    La funzione isFullscreen ha il seguente aspetto:

    () => {...}

    • returns

      booleano

  • isMaximized

    void

    La finestra è ingrandita?

    La funzione isMaximized ha il seguente aspetto:

    () => {...}

    • returns

      booleano

  • isMinimized

    void

    La finestra è ridotta a icona?

    La funzione isMinimized ha il seguente aspetto:

    () => {...}

    • returns

      booleano

  • massimizza

    void

    Ingrandisci la finestra.

    La funzione maximize ha il seguente aspetto:

    () => {...}

  • riduci a icona

    void

    Riduci a icona la finestra.

    La funzione minimize ha il seguente aspetto:

    () => {...}

  • moveTo

    void

    Ritirato da Chrome 43

    Utilizza outerBounds.

    Sposta la finestra nella posizione (left, top).

    La funzione moveTo ha il seguente aspetto:

    (left: number, top: number) => {...}

    • sinistra

      numero

    • in alto

      numero

  • resizeTo

    void

    Ritirato da Chrome 43

    Utilizza outerBounds.

    Ridimensiona la finestra a width x height pixel.

    La funzione resizeTo ha il seguente aspetto:

    (width: number, height: number) => {...}

    • larghezza

      numero

    • altezza

      numero

  • ripristina

    void

    Ripristina la finestra, uscendo da uno stato di ingrandimento, riduzione a icona o schermo intero.

    La funzione restore ha il seguente aspetto:

    () => {...}

  • setAlwaysOnTop

    void

    Imposta se la finestra deve rimanere sopra la maggior parte delle altre finestre. Richiede l'autorizzazione alwaysOnTopWindows.

    La funzione setAlwaysOnTop ha il seguente aspetto:

    (alwaysOnTop: boolean) => {...}

    • alwaysOnTop

      booleano

  • setBounds

    void

    Deprecato

    Utilizza innerBounds o outerBounds.

    Imposta i limiti interni della finestra.

    La funzione setBounds ha il seguente aspetto:

    (bounds: ContentBounds) => {...}

  • setVisibleOnAllWorkspaces

    void

    Imposta se la finestra è visibile in tutte le aree di lavoro. (Solo per le piattaforme che supportano questa funzionalità).

    La funzione setVisibleOnAllWorkspaces ha il seguente aspetto:

    (alwaysVisible: boolean) => {...}

    • alwaysVisible

      booleano

  • mostra

    void

    Mostra la finestra. Non succede nulla se la finestra è già visibile. Attiva la finestra se focused è impostato su true o se viene omesso.

    La funzione show ha il seguente aspetto:

    (focused?: boolean) => {...}

    • Focalizzati

      boolean facoltativo

Bounds

Proprietà

  • altezza

    numero

    Questa proprietà può essere utilizzata per leggere o scrivere l'altezza corrente dei contenuti o della finestra.

  • sinistra

    numero

    Questa proprietà può essere utilizzata per leggere o scrivere la coordinata X corrente dei contenuti o della finestra.

  • maxHeight

    number optional

    Questa proprietà può essere utilizzata per leggere o scrivere l'altezza massima corrente dei contenuti o della finestra. Un valore pari a null indica "non specificato".

  • maxWidth

    number optional

    Questa proprietà può essere utilizzata per leggere o scrivere la larghezza massima corrente dei contenuti o della finestra. Un valore pari a null indica "non specificato".

  • minHeight

    number optional

    Questa proprietà può essere utilizzata per leggere o scrivere l'altezza minima corrente dei contenuti o della finestra. Un valore pari a null indica "non specificato".

  • minWidth

    number optional

    Questa proprietà può essere utilizzata per leggere o scrivere la larghezza minima corrente dei contenuti o della finestra. Un valore pari a null indica "non specificato".

  • in alto

    numero

    Questa proprietà può essere utilizzata per leggere o scrivere la coordinata Y corrente dei contenuti o della finestra.

  • larghezza

    numero

    Questa proprietà può essere utilizzata per leggere o scrivere la larghezza corrente dei contenuti o della finestra.

  • setMaximumSize

    void

    Imposta i vincoli di dimensione massima dei contenuti o della finestra. La larghezza o l'altezza massima può essere impostata su null per rimuovere il vincolo. Un valore undefined lascerà un vincolo invariato.

    La funzione setMaximumSize ha il seguente aspetto:

    (maxWidth: number, maxHeight: number) => {...}

    • maxWidth

      numero

    • maxHeight

      numero

  • setMinimumSize

    void

    Imposta i vincoli di dimensione minima dei contenuti o della finestra. La larghezza o l'altezza minima può essere impostata su null per rimuovere il vincolo. Un valore undefined lascerà un vincolo invariato.

    La funzione setMinimumSize ha il seguente aspetto:

    (minWidth: number, minHeight: number) => {...}

    • minWidth

      numero

    • minHeight

      numero

  • setPosition

    void

    Imposta la posizione sinistra e superiore dei contenuti o della finestra.

    La funzione setPosition ha il seguente aspetto:

    (left: number, top: number) => {...}

    • sinistra

      numero

    • in alto

      numero

  • setSize

    void

    Imposta la larghezza e l'altezza dei contenuti o della finestra.

    La funzione setSize ha il seguente aspetto:

    (width: number, height: number) => {...}

    • larghezza

      numero

    • altezza

      numero

BoundsSpecification

Proprietà

  • altezza

    number optional

    L'altezza dei contenuti o della finestra.

  • sinistra

    number optional

    La coordinata X dei contenuti o della finestra.

  • maxHeight

    number optional

    L'altezza massima dei contenuti o della finestra.

  • maxWidth

    number optional

    La larghezza massima dei contenuti o della finestra.

  • minHeight

    number optional

    L'altezza minima dei contenuti o della finestra.

  • minWidth

    number optional

    La larghezza minima dei contenuti o della finestra.

  • in alto

    number optional

    La coordinata Y dei contenuti o della finestra.

  • larghezza

    number optional

    La larghezza dei contenuti o della finestra.

ContentBounds

Proprietà

  • altezza

    number optional

  • sinistra

    number optional

  • in alto

    number optional

  • larghezza

    number optional

CreateWindowOptions

Proprietà

  • alwaysOnTop

    boolean facoltativo

    Se impostato su true, la finestra rimarrà sopra la maggior parte delle altre finestre. Se sono presenti più finestre di questo tipo, la finestra attualmente attiva sarà in primo piano. Richiede l'autorizzazione alwaysOnTopWindows. Il valore predefinito è false.

    Chiama setAlwaysOnTop() sulla finestra per modificare questa proprietà dopo la creazione.

  • bounds

    ContentBounds facoltativo

    Deprecato

    Utilizza innerBounds o outerBounds.

    Dimensioni e posizione dei contenuti nella finestra (esclusa la barra del titolo). Se viene specificato anche un ID e in precedenza è stata mostrata una finestra con un ID corrispondente, verranno utilizzati i limiti memorizzati della finestra.

  • Focalizzati

    boolean facoltativo

    Se impostato su true, la finestra verrà attivata al momento della creazione. Il valore predefinito è true.

  • cornice

    string | FrameOptions facoltativo

    Tipo di frame: none o chrome (il valore predefinito è chrome). Per none, la proprietà CSS -webkit-app-region può essere utilizzata per applicare la trascinabilità alla finestra dell'app. -webkit-app-region: drag può essere utilizzato per contrassegnare le regioni trascinabili. no-drag può essere utilizzato per disattivare questo stile sugli elementi nidificati.

    L'utilizzo di FrameOptions è una novità di M36.

  • nascosto

    boolean facoltativo

    Se impostato su true, la finestra verrà creata in uno stato nascosto. Chiama show() sulla finestra per mostrarla una volta creata. Il valore predefinito è false.

  • icona

    stringa facoltativa

    Chrome 54 e versioni successive

    URL dell'icona della finestra. Una finestra può avere la propria icona quando showInShelf è impostato su true. L'URL deve essere un URL globale o un URL locale dell'estensione.

  • id

    stringa facoltativa

    ID per identificare la finestra. Verrà utilizzato per ricordare le dimensioni e la posizione della finestra e ripristinare questa geometria quando viene aperta una finestra con lo stesso ID. Se viene creata una finestra con un determinato ID mentre esiste già un'altra finestra con lo stesso ID, verrà attivata la finestra attualmente aperta anziché crearne una nuova.

  • innerBounds

    BoundsSpecification facoltativo

    Utilizzato per specificare la posizione iniziale, le dimensioni iniziali e i vincoli dei contenuti della finestra (escluse le decorazioni della finestra). Se viene specificato anche un id e in precedenza è stata mostrata una finestra con un id corrispondente, verranno utilizzati i limiti memorizzati.

    Tieni presente che la spaziatura interna tra i limiti interni ed esterni è determinata dal sistema operativo. Pertanto, l'impostazione della stessa proprietà bounds per innerBounds e outerBounds genererà un errore.

    Questa proprietà è una novità di Chrome 36.

  • maxHeight

    number optional

    Deprecato

    Utilizza innerBounds o outerBounds.

    Altezza massima della finestra.

  • maxWidth

    number optional

    Deprecato

    Utilizza innerBounds o outerBounds.

    Larghezza massima della finestra.

  • minHeight

    number optional

    Deprecato

    Utilizza innerBounds o outerBounds.

    Altezza minima della finestra.

  • minWidth

    number optional

    Deprecato

    Utilizza innerBounds o outerBounds.

    Larghezza minima della finestra.

  • outerBounds

    BoundsSpecification facoltativo

    Utilizzato per specificare la posizione iniziale, le dimensioni iniziali e i vincoli della finestra (incluse le decorazioni della finestra come la barra del titolo e la cornice). Se viene specificato anche un id e in precedenza è stata mostrata una finestra con un id corrispondente, verranno utilizzati i limiti memorizzati.

    Tieni presente che la spaziatura interna tra i limiti interni ed esterni è determinata dal sistema operativo. Pertanto, l'impostazione della stessa proprietà bounds per innerBounds e outerBounds genererà un errore.

    Questa proprietà è nuova in Chrome 36.

  • ridimensionabile

    boolean facoltativo

    Se impostato su true, la finestra sarà ridimensionabile dall'utente. Il valore predefinito è true.

  • showInShelf

    boolean facoltativo

    Chrome 54 e versioni successive

    Se impostato su true, la finestra avrà la propria icona nella barra delle app. In caso contrario, la finestra verrà raggruppata nella barra delle app con altre finestre associate all'app. Il valore predefinito è false. Se showInShelf è impostato su true, devi specificare un ID per la finestra.

  • singleton

    boolean facoltativo

    Deprecato

    Più finestre con lo stesso ID non sono più supportate.

    Per impostazione predefinita, se specifichi un ID per la finestra, questa verrà creata solo se non esiste già un'altra finestra con lo stesso ID. Se esiste già una finestra con lo stesso ID, viene attivata quella finestra. Se vuoi creare più finestre con lo stesso ID, puoi impostare questa proprietà su false.

  • stato

    Stato facoltativo

    Lo stato iniziale della finestra, che consente di crearla già a schermo intero, ingrandita o ridotta a icona. Il valore predefinito è "normal".

  • tipo

    WindowType facoltativo

    Chrome 45 e versioni successive Ritirato da Chrome 69

    Tutte le finestre delle app utilizzano il tipo di finestra "shell"

    Il tipo di finestra da creare.

  • visibleOnAllWorkspaces

    boolean facoltativo

    Se il valore è true e la piattaforma lo supporta, la finestra sarà visibile in tutte le aree di lavoro.

FrameOptions

Proprietà

  • activeColor

    stringa facoltativa

    Consente di impostare il colore della cornice della finestra quando è attiva. La colorazione della cornice è disponibile solo se il tipo di cornice è chrome.

    La colorazione della cornice è disponibile solo se il tipo di cornice è chrome.

    La colorazione dei frame è una novità di Chrome 36.

  • colore

    stringa facoltativa

    Consente di impostare il colore del frame. La colorazione della cornice è disponibile solo se il tipo di cornice è chrome.

    La colorazione dei frame è una novità di Chrome 36.

  • inactiveColor

    stringa facoltativa

    Consente di impostare il colore della cornice della finestra quando è inattiva in modo diverso dal colore attivo. La colorazione della cornice è disponibile solo se il tipo di cornice è chrome.

    inactiveColor deve essere utilizzato insieme a color.

    La colorazione dei frame è una novità di Chrome 36.

  • tipo

    stringa facoltativa

    Tipo di frame: none o chrome (il valore predefinito è chrome).

    Per none, la proprietà CSS -webkit-app-region può essere utilizzata per applicare la trascinabilità alla finestra dell'app.

    -webkit-app-region: drag può essere utilizzato per contrassegnare le regioni trascinabili. no-drag può essere utilizzato per disattivare questo stile sugli elementi nidificati.

State

Stato di una finestra: normale, a schermo intero, ingrandita, ridotta a icona.

Enum

"normal"

"fullscreen"

"maximized"

"minimized"

WindowType

Chrome 45 e versioni successive

Specifica il tipo di finestra da creare.

Enum

"shell"
Tipo di finestra predefinito.

"panel"
Finestra gestita dal sistema operativo (deprecata).

Metodi

canSetVisibleOnAllWorkspaces()

chrome.app.window.canSetVisibleOnAllWorkspaces(): boolean

Indica se la piattaforma attuale supporta la visualizzazione delle finestre in tutte le aree di lavoro.

Resi

  • booleano

create()

Promise
chrome.app.window.create(
  url: string,
  options?: CreateWindowOptions,
  callback?: function,
)
: Promise<AppWindow>

Le dimensioni e la posizione di una finestra possono essere specificate in diversi modi. L'opzione più semplice è non specificare nulla, nel qual caso verranno utilizzate le dimensioni predefinite e la posizione dipendente dalla piattaforma.

Per impostare la posizione, le dimensioni e i vincoli della finestra, utilizza le proprietà innerBounds o outerBounds. I limiti interni non includono le decorazioni delle finestre. I limiti esterni includono la barra del titolo e la cornice della finestra. Tieni presente che la spaziatura interna tra i limiti interni ed esterni è determinata dal sistema operativo. Pertanto, l'impostazione della stessa proprietà per i limiti interni ed esterni è considerata un errore (ad esempio, l'impostazione di innerBounds.left e outerBounds.left).

Per ricordare automaticamente le posizioni delle finestre, puoi assegnare loro degli ID. Se una finestra ha un ID, questo viene utilizzato per ricordare le dimensioni e la posizione della finestra ogni volta che viene spostata o ridimensionata. Queste dimensioni e questa posizione vengono poi utilizzate al posto dei limiti specificati alla successiva apertura di una finestra con lo stesso ID. Se devi aprire una finestra con un ID in una posizione diversa da quella predefinita memorizzata, puoi crearla nascosta, spostarla nella posizione desiderata e poi mostrarla.

Parametri

  • url

    stringa

  • opzioni

    CreateWindowOptions facoltativo

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    (createdWindow: AppWindow) => void

Resi

  • Promise<AppWindow>

    Chrome 117 e versioni successive

    Le promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

current()

chrome.app.window.current(): AppWindow | undefined

Restituisce un oggetto AppWindow per il contesto dello script corrente (ovvero l'oggetto "window" JavaScript). Questo metodo può essere chiamato anche su un handle di un contesto di script per un'altra pagina, ad esempio: otherWindow.chrome.app.window.current().

Resi

get()

chrome.app.window.get(
  id: string,
)
: AppWindow | undefined

Recupera un AppWindow con l'ID specificato. Se non esiste una finestra con l'ID specificato, viene restituito null. Questo metodo è nuovo in Chrome 33.

Parametri

  • id

    stringa

Resi

getAll()

chrome.app.window.getAll(): AppWindow[]

Restituisce un array di tutte le finestre dell'app attualmente create. Questo metodo è una novità di Chrome 33.

Resi

Eventi

onBoundsChanged

chrome.app.window.onBoundsChanged.addListener(
  callback: function,
)

Attivato quando la finestra viene ridimensionata.

Parametri

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    () => void

onClosed

chrome.app.window.onClosed.addListener(
  callback: function,
)

Attivato quando la finestra viene chiusa. Tieni presente che questo evento deve essere ascoltato da una finestra diversa da quella che viene chiusa, ad esempio dalla pagina in background. Questo perché la finestra che viene chiusa sarà in fase di chiusura quando viene attivato l'evento, il che significa che non tutte le API nel contesto dello script della finestra saranno funzionali.

Parametri

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    () => void

onFullscreened

chrome.app.window.onFullscreened.addListener(
  callback: function,
)

Attivato quando la finestra viene visualizzata a schermo intero (tramite le API AppWindow o HTML5).

Parametri

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    () => void

onMaximized

chrome.app.window.onMaximized.addListener(
  callback: function,
)

Attivato quando la finestra viene ingrandita.

Parametri

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    () => void

onMinimized

chrome.app.window.onMinimized.addListener(
  callback: function,
)

Attivato quando la finestra viene ridotta a icona.

Parametri

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    () => void

onRestored

chrome.app.window.onRestored.addListener(
  callback: function,
)

Attivato quando la finestra viene ripristinata dopo essere stata ridotta a icona o ingrandita.

Parametri

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    () => void