chrome.app.window

Descrizione

Utilizza l'API chrome.app.window per creare finestre. Le finestre hanno un frame facoltativo con barra del titolo e controlli delle dimensioni. 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 JavaScript "window" per l'asset 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 relative decorazioni. Questa proprietà è nuova in Chrome 36.

  • outerBounds

    La posizione, le dimensioni e i vincoli della finestra, incluse le decorazioni, come la barra del titolo e il frame. Questa proprietà è nuova in Chrome 36.

  • clearAttention

    void

    Chiarisci la 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:

    ()=> {...}

  • obiettivo

    void

    Imposta 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 che venga mantenuto lo 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(); } };

    Nota: window.fullscreen() mostrerà l'intera finestra a schermo intero e non richiede un gesto dell'utente. L'API a schermo intero HTML5 può essere utilizzata anche per attivare la modalità a schermo intero (vedi API web per ulteriori dettagli).

    La funzione fullscreen ha il seguente aspetto:

    ()=> {...}

  • getBounds

    void

    Deprecato

    Usa innerBounds o outerBounds.

    Ottieni i limiti interni della finestra come oggetto ContentBounds.

    La funzione getBounds ha il seguente aspetto:

    ()=> {...}

  • nascondi

    void

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

    La funzione hide ha il seguente aspetto:

    ()=> {...}

  • isAlwaysOnTop

    void

    La finestra è sempre in alto?

    La funzione isAlwaysOnTop ha il seguente aspetto:

    ()=> {...}

    • returns

      boolean

  • isFullscreen

    void

    La finestra è a schermo intero? Questo vale se la finestra è stata creata a schermo intero o se è stata visualizzata a schermo intero tramite le API AppWindow o HTML5 a schermo intero.

    La funzione isFullscreen ha il seguente aspetto:

    ()=> {...}

    • returns

      boolean

  • isMaximized

    void

    La finestra è ingrandita?

    La funzione isMaximized ha il seguente aspetto:

    ()=> {...}

    • returns

      boolean

  • isMinimized

    void

    La finestra è ridotta a icona?

    La funzione isMinimized ha il seguente aspetto:

    ()=> {...}

    • returns

      boolean

  • ingrandisci

    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

    Deprecata da Chrome 43

    Usa outerBounds.

    Sposta la finestra nella posizione (left, top).

    La funzione moveTo ha il seguente aspetto:

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

    • a sinistra

      numero

    • superiore

      numero

  • resizeTo

    void

    Deprecata da Chrome 43

    Usa outerBounds.

    Ridimensiona la finestra a width x height pixel.

    La funzione resizeTo ha il seguente aspetto:

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

    • larghezza

      numero

    • altezza

      numero

  • restore

    void

    Ripristina la finestra, uscendo dallo stato ingrandito, ridotto a icona o a schermo intero.

    La funzione restore ha il seguente aspetto:

    ()=> {...}

  • setAlwaysOnTop

    void

    Consente di impostare 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

      boolean

  • setBounds

    void

    Deprecato

    Usa innerBounds o outerBounds.

    Imposta i limiti interni della finestra.

    La funzione setBounds ha il seguente aspetto:

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

  • setVisibleOnAllWorkspaces

    void

    Consente di impostare se la finestra deve essere visibile in tutte le aree di lavoro. (solo per le piattaforme che la supportano).

    La funzione setVisibleOnAllWorkspaces ha il seguente aspetto:

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

    • alwaysVisible

      boolean

  • mostra

    void

    Mostra la finestra. Non fa nulla se la finestra è già visibile. Imposta lo stato attivo sulla finestra se focused è impostato su true o omesso.

    La funzione show ha il seguente aspetto:

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

    • Mirati

      booleano facoltativo

Bounds

Proprietà

  • altezza

    numero

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

  • a sinistra

    numero

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

  • maxHeight

    numero facoltativo

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

  • maxWidth

    numero facoltativo

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

  • minHeight

    numero facoltativo

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

  • minWidth

    numero facoltativo

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

  • superiore

    numero

    Questa proprietà può essere utilizzata per leggere o scrivere la coordinata Y corrente del contenuto 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 delle dimensioni massime dei contenuti o della finestra. Per rimuovere il vincolo, è possibile impostare la larghezza o l'altezza massima su null. 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 delle dimensioni minime dei contenuti o della finestra. Per rimuovere il vincolo, la larghezza o l'altezza minima può essere impostata su null. 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 a sinistra e in alto dei contenuti o della finestra.

    La funzione setPosition ha il seguente aspetto:

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

    • a sinistra

      numero

    • superiore

      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

    numero facoltativo

    L'altezza dei contenuti o della finestra.

  • a sinistra

    numero facoltativo

    La coordinata X del contenuto o della finestra.

  • maxHeight

    numero facoltativo

    L'altezza massima dei contenuti o della finestra.

  • maxWidth

    numero facoltativo

    La larghezza massima dei contenuti o della finestra.

  • minHeight

    numero facoltativo

    L'altezza minima dei contenuti o della finestra.

  • minWidth

    numero facoltativo

    La larghezza minima dei contenuti o della finestra.

  • superiore

    numero facoltativo

    La coordinata Y del contenuto o della finestra.

  • larghezza

    numero facoltativo

    La larghezza dei contenuti o della finestra.

ContentBounds

Proprietà

  • altezza

    numero facoltativo

  • a sinistra

    numero facoltativo

  • superiore

    numero facoltativo

  • larghezza

    numero facoltativo

CreateWindowOptions

Proprietà

  • alwaysOnTop

    booleano facoltativo

    Se il valore è true, la finestra rimane 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() nella finestra per modificare questa proprietà dopo la creazione.

  • limiti

    ContentBounds facoltativo

    Deprecato

    Usa 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 visualizzata una finestra con un ID corrispondente, verranno utilizzati i limiti memorizzati della finestra.

  • Mirati

    booleano facoltativo

    Se il valore è true, la finestra verrà evidenziata al momento della creazione. Il valore predefinito è true.

  • cornice

    string|FrameOptions facoltativo

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

    L'utilizzo di FrameOptions è nuovo in M36.

  • nascosto

    booleano facoltativo

    Se il valore è true, la finestra viene creata in stato nascosto. Richiama show() nella finestra per mostrarla una volta creata. Il valore predefinito è false.

  • icona

    stringa facoltativo

    Chrome 54 e versioni successive

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

  • id

    stringa facoltativo

    ID per identificare la finestra. Verrà utilizzato per ricordare le dimensioni e la posizione della finestra e ripristinare quella geometria all'apertura successiva di 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 relative decorazioni). 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 interno ed esterno è determinata dal sistema operativo. Pertanto, l'impostazione della stessa proprietà dei limiti sia per innerBounds sia per outerBounds comporterà un errore.

    Questa proprietà è nuova in Chrome 36.

  • maxHeight

    numero facoltativo

    Deprecato

    Usa innerBounds o outerBounds.

    Altezza massima della finestra.

  • maxWidth

    numero facoltativo

    Deprecato

    Usa innerBounds o outerBounds.

    Larghezza massima della finestra.

  • minHeight

    numero facoltativo

    Deprecato

    Usa innerBounds o outerBounds.

    Altezza minima della finestra.

  • minWidth

    numero facoltativo

    Deprecato

    Usa 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 il frame). 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 interno ed esterno è determinata dal sistema operativo. Pertanto, l'impostazione della stessa proprietà dei limiti sia per innerBounds sia per outerBounds comporterà un errore.

    Questa proprietà è nuova in Chrome 36.

  • resizable

    booleano facoltativo

    Se il valore è true, la finestra sarà ridimensionata dall'utente. Il valore predefinito è true.

  • showInShelf

    booleano facoltativo

    Chrome 54 e versioni successive

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

  • singleton

    booleano facoltativo

    Deprecato

    Non sono più supportate finestre con lo stesso ID.

    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, questa viene attivata. Se vuoi creare più finestre con lo stesso ID, puoi impostare questa proprietà su false.

  • state

    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 Obsoleto da Chrome 69

    Tutte le finestre dell'app utilizzano il tipo di finestra "shell"

    Tipo di finestra da creare.

  • visibleOnAllWorkspaces

    booleano facoltativo

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

FrameOptions

Proprietà

  • activeColor

    stringa facoltativo

    Consente di impostare il colore del bordo della finestra quando è attivo. 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 della cornice è una novità di Chrome 36.

  • colore

    stringa facoltativo

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

    La colorazione della cornice è una novità di Chrome 36.

  • inactiveColor

    stringa facoltativo

    Consente di impostare in modo diverso il colore del bordo della finestra quando non attivo rispetto al colore attivo. La colorazione della cornice è disponibile solo se il tipo di cornice è chrome.

    inactiveColor deve essere utilizzato insieme a color.

    La colorazione della cornice è una novità di Chrome 36.

  • tipo

    stringa facoltativo

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

    Per none, è possibile utilizzare la proprietà CSS -webkit-app-region per applicare la trascinabilità alla finestra dell'app.

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

State

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

Enum

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

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

Ritorni

  • boolean

create()

Promessa
chrome.app.window.create(
  url: string,
  options?: CreateWindowOptions,
  callback?: function,
)

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

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

Per ricordare automaticamente la posizione delle finestre, puoi assegnare loro un ID. Se una finestra ha un ID, questo ID viene utilizzato per ricordare le dimensioni e la posizione della finestra ogni volta che viene spostata o ridimensionata. Queste dimensioni e posizione vengono quindi 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 in memoria, puoi crearla nascosta, spostarla nella posizione desiderata e mostrarla.

Parametri

  • url

    stringa

  • opzioni

    CreateWindowOptions facoltativo

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (createdWindow: AppWindow)=>void

Ritorni

  • Promise<AppWindow>

    Chrome 117 e versioni successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive; altre piattaforme devono utilizzare i callback.

current()

chrome.app.window.current()

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

Ritorni

get()

chrome.app.window.get(
  id: string,
)

Recupera un elemento AppWindow con l'ID specificato. Se non esiste una finestra con l'ID specificato, viene restituito un valore null. Questo metodo è una novità di Chrome 33.

Parametri

  • id

    stringa

Ritorni

getAll()

chrome.app.window.getAll()

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

Ritorni

Eventi

onBoundsChanged

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

Viene 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,
)

Viene attivato quando la finestra viene chiusa. Tieni presente che questo deve essere ascoltato da una finestra diversa da quella chiusa, ad esempio dalla pagina in background. Questo perché la finestra che viene chiusa verrà rimossa quando l'evento viene attivato, il che significa che non tutte le API nel contesto dello script della finestra funzioneranno.

Parametri

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    ()=>void

onFullscreened

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

Viene 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,
)

Viene attivato quando la finestra è ingrandita.

Parametri

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    ()=>void

onMinimized

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

Viene attivato quando la finestra è ridotta a icona.

Parametri

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    ()=>void

onRestored

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

Viene attivato quando la finestra non viene ridotta a icona o ingrandita.

Parametri

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    ()=>void