Descrizione
Utilizza l'API chrome.app.window
per creare finestre. Le finestre hanno una cornice facoltativa con barra del titolo e controlli delle dimensioni. Non sono associati a nessuna 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 il bambino 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 il frame. Questa proprietà è nuova in Chrome 36.
-
clearAttention
void
Cancella l'attenzione alla finestra.
La funzione
clearAttention
ha questo aspetto:() => {...}
-
chiudi
void
Chiudi la finestra.
La funzione
close
ha questo aspetto:() => {...}
-
drawAttention
void
Attira l'attenzione sulla finestra.
La funzione
drawAttention
ha questo aspetto:() => {...}
-
obiettivo
void
Imposta lo stato attivo sulla finestra.
La funzione
focus
ha questo aspetto:() => {...}
-
schermo intero
void
Visualizza la finestra a schermo intero.
L'utente potrà ripristinare la finestra premendo ESC. Un'applicazione può impedire l'uscita dalla modalità 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, come segue:window.onkeydown = window.onkeyup = function(e) { if (e.keyCode == 27 /* ESC *\/) { e.preventDefault(); } };
Nota:
window.fullscreen()
fa sì che l'intera finestra diventi a schermo intero e non richiede un gesto dell'utente. L'API HTML5 a schermo intero può essere utilizzata anche per attivare la modalità a schermo intero (vedi API web per maggiori dettagli).La funzione
fullscreen
ha questo aspetto:() => {...}
-
getBounds
void
ObsoletoUtilizza innerBounds o outerBounds.
Ottieni i limiti interni della finestra come oggetto
ContentBounds
.La funzione
getBounds
ha questo aspetto:() => {...}
-
returns
-
-
nascondi
void
Nascondi la finestra. Non fa nulla se la finestra è già nascosta.
La funzione
hide
ha questo aspetto:() => {...}
-
isAlwaysOnTop
void
La finestra è sempre in primo piano?
La funzione
isAlwaysOnTop
ha questo aspetto:() => {...}
-
returns
booleano
-
-
isFullscreen
void
La finestra è a schermo intero? Questo valore è true se la finestra è stata creata a schermo intero o è stata impostata a schermo intero tramite le API
AppWindow
o HTML5 per la modalità a schermo intero.La funzione
isFullscreen
ha questo aspetto:() => {...}
-
returns
booleano
-
-
isMaximized
void
La finestra è ingrandita?
La funzione
isMaximized
ha questo aspetto:() => {...}
-
returns
booleano
-
-
isMinimized
void
La finestra è ridotta a icona?
La funzione
isMinimized
ha questo aspetto:() => {...}
-
returns
booleano
-
-
massimizzare
void
Ingrandisci la finestra.
La funzione
maximize
ha questo aspetto:() => {...}
-
ridurre a icona
void
Riduci a icona la finestra.
La funzione
minimize
ha questo aspetto:() => {...}
-
moveTo
void
Ritirato a partire da Chrome 43Utilizza outerBounds.
Sposta la finestra nella posizione (
left
,top
).La funzione
moveTo
ha questo aspetto:(left: number, top: number) => {...}
-
sinistra
numero
-
in alto
numero
-
-
resizeTo
void
Ritirato a partire da Chrome 43Utilizza outerBounds.
Ridimensiona la finestra a
width
xheight
pixel.La funzione
resizeTo
ha questo aspetto:(width: number, height: number) => {...}
-
larghezza
numero
-
altezza
numero
-
-
ripristina
void
Ripristina la finestra, uscendo da uno stato ingrandito, ridotto a icona o a schermo intero.
La funzione
restore
ha questo aspetto:() => {...}
-
setAlwaysOnTop
void
Imposta se la finestra deve rimanere sopra la maggior parte delle altre finestre. Richiede l'autorizzazione
alwaysOnTopWindows
.La funzione
setAlwaysOnTop
ha questo aspetto:(alwaysOnTop: boolean) => {...}
-
alwaysOnTop
booleano
-
-
setBounds
void
ObsoletoUtilizza innerBounds o outerBounds.
Imposta i limiti interni della finestra.
La funzione
setBounds
ha questo aspetto:(bounds: ContentBounds) => {...}
-
limiti
-
-
setVisibleOnAllWorkspaces
void
Imposta se la finestra è visibile in tutti i workspace. Solo per le piattaforme che lo supportano.
La funzione
setVisibleOnAllWorkspaces
ha questo aspetto:(alwaysVisible: boolean) => {...}
-
alwaysVisible
booleano
-
-
mostra
void
Mostra la finestra. Non fa nulla se la finestra è già visibile. Metti a fuoco la finestra se
focused
è impostato su true o omesso.La funzione
show
ha questo aspetto:(focused?: boolean) => {...}
-
Focalizzati
booleano 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 (facoltativo)
Questa proprietà può essere utilizzata per leggere o scrivere l'altezza massima corrente dei contenuti o della finestra. Un valore di
null
indica "non specificato". -
maxWidth
number (facoltativo)
Questa proprietà può essere utilizzata per leggere o scrivere la larghezza massima corrente dei contenuti o della finestra. Un valore di
null
indica "non specificato". -
minHeight
number (facoltativo)
Questa proprietà può essere utilizzata per leggere o scrivere l'altezza minima corrente dei contenuti o della finestra. Un valore di
null
indica "non specificato". -
minWidth
number (facoltativo)
Questa proprietà può essere utilizzata per leggere o scrivere la larghezza minima corrente dei contenuti o della finestra. Un valore di
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 massimi dei contenuti o della finestra. La larghezza o l'altezza massima può essere impostata su
null
per rimuovere il vincolo. Un valore diundefined
lascerà invariato un vincolo.La funzione
setMaximumSize
ha questo aspetto:(maxWidth: number, maxHeight: number) => {...}
-
maxWidth
numero
-
maxHeight
numero
-
-
setMinimumSize
void
Imposta i vincoli di dimensione minimi del contenuto o della finestra. La larghezza o l'altezza minima può essere impostata su
null
per rimuovere il vincolo. Un valore diundefined
lascerà invariato un vincolo.La funzione
setMinimumSize
ha questo 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 questo aspetto:(left: number, top: number) => {...}
-
sinistra
numero
-
in alto
numero
-
-
setSize
void
Imposta la larghezza e l'altezza del contenuto o della finestra.
La funzione
setSize
ha questo aspetto:(width: number, height: number) => {...}
-
larghezza
numero
-
altezza
numero
-
BoundsSpecification
Proprietà
-
altezza
number (facoltativo)
L'altezza dei contenuti o della finestra.
-
sinistra
number (facoltativo)
La coordinata X del contenuto o della finestra.
-
maxHeight
number (facoltativo)
L'altezza massima dei contenuti o della finestra.
-
maxWidth
number (facoltativo)
La larghezza massima dei contenuti o della finestra.
-
minHeight
number (facoltativo)
L'altezza minima dei contenuti o della finestra.
-
minWidth
number (facoltativo)
La larghezza minima dei contenuti o della finestra.
-
in alto
number (facoltativo)
La coordinata Y del contenuto o della finestra.
-
larghezza
number (facoltativo)
La larghezza dei contenuti o della finestra.
ContentBounds
Proprietà
-
altezza
number (facoltativo)
-
sinistra
number (facoltativo)
-
in alto
number (facoltativo)
-
larghezza
number (facoltativo)
CreateWindowOptions
Proprietà
-
alwaysOnTop
booleano facoltativo
Se true, la finestra rimarrà sopra la maggior parte delle altre finestre. Se sono presenti più finestre di questo tipo, quella 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
ObsoletoUtilizza innerBounds o outerBounds.
Dimensioni e posizione dei contenuti nella finestra (esclusa la barra del titolo). Se viene specificato anche un ID e una finestra con un ID corrispondente è già stata mostrata, verranno utilizzati i limiti memorizzati della finestra.
-
Focalizzati
booleano facoltativo
Se è impostato su true, la finestra verrà messa in primo piano al momento della creazione. Il valore predefinito è true.
-
cornice
stringa | FrameOptions facoltativo
Tipo di frame:
none
ochrome
(il valore predefinito èchrome
). Pernone
, 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 come trascinabili.no-drag
può essere utilizzato per disattivare questo stile sugli elementi nidificati.L'utilizzo di
FrameOptions
è una novità di M36. -
booleano facoltativo
Se il valore è 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 o versioni successiveL'URL dell'icona della finestra. Una finestra può avere la propria icona quando showInShelf è impostato su true. L'URL deve essere globale o locale dell'estensione.
-
id
stringa facoltativa
ID per identificare la finestra. Queste informazioni verranno utilizzate per memorizzare le dimensioni e la posizione della finestra e ripristinare la geometria quando viene aperta in un secondo momento una finestra con lo stesso ID. Se viene creata una finestra con un determinato ID mentre ne esiste già un'altra con lo stesso ID, verrà messa a fuoco 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 visualizzata una finestra con unid
corrispondente, verranno utilizzati i limiti memorizzati.Tieni presente che il riempimento tra i limiti interni ed esterni è determinato dal sistema operativo. Pertanto, l'impostazione della stessa proprietà bounds sia per
innerBounds
che perouterBounds
genererà un errore.Questa proprietà è nuova in Chrome 36.
-
maxHeight
number (facoltativo)
ObsoletoUtilizza innerBounds o outerBounds.
Altezza massima della finestra.
-
maxWidth
number (facoltativo)
ObsoletoUtilizza innerBounds o outerBounds.
Larghezza massima della finestra.
-
minHeight
number (facoltativo)
ObsoletoUtilizza innerBounds o outerBounds.
Altezza minima della finestra.
-
minWidth
number (facoltativo)
ObsoletoUtilizza 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 visualizzata una finestra con unid
corrispondente, verranno utilizzati i limiti memorizzati.Tieni presente che il riempimento tra i limiti interni ed esterni è determinato dal sistema operativo. Pertanto, l'impostazione della stessa proprietà bounds sia per
innerBounds
che perouterBounds
genererà un errore.Questa proprietà è nuova in Chrome 36.
-
ridimensionabile
booleano facoltativo
Se true, la finestra sarà ridimensionabile dall'utente. Il valore predefinito è true.
-
showInShelf
booleano facoltativo
Chrome 54 o versioni successiveSe true, la finestra avrà la propria icona della barra. In caso contrario, la finestra verrà raggruppata nello scaffale con altre finestre associate all'app. Il valore predefinito è false. Se showInShelf è impostato su true, devi specificare un ID per la finestra.
-
singleton
booleano facoltativo
ObsoletoNon è più supportato l'utilizzo di più 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, viene attivata quella. 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. Il valore predefinito è "normal".
-
tipo
WindowType facoltativo
Chrome 45+ Ritirato a partire da Chrome 69Tutte le finestre delle app utilizzano il tipo di finestra "shell"
Tipo di finestra da creare.
-
visibleOnAllWorkspaces
booleano facoltativo
Se il valore è true e la piattaforma lo supporta, la finestra sarà visibile in tutti gli spazi di lavoro.
FrameOptions
Proprietà
-
activeColor
stringa facoltativa
Consente di impostare il colore del frame della finestra quando è attiva. La colorazione del frame è disponibile solo se il tipo di frame è
chrome
.La colorazione del frame è disponibile solo se il tipo di frame è
chrome
.La colorazione del frame è una novità di Chrome 36.
-
colore
stringa facoltativa
Consente di impostare il colore del frame. La colorazione del frame è disponibile solo se il tipo di frame è
chrome
.La colorazione del frame è una novità di Chrome 36.
-
inactiveColor
stringa facoltativa
Consente di impostare il colore del frame della finestra quando è inattiva in modo diverso rispetto al colore attivo. La colorazione del frame è disponibile solo se il tipo di frame è
chrome
.inactiveColor
deve essere utilizzato insieme acolor
.La colorazione del frame è una novità di Chrome 36.
-
tipo
stringa facoltativa
Tipo di fotogramma:
none
ochrome
(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 come 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
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 visibilità delle finestre in tutti gli spazi di lavoro.
Resi
-
booleano
create()
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 dimensioni e posizione predefinite dipendenti 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 della finestra. I limiti esterni includono la barra del titolo e la cornice della finestra. Tieni presente che il riempimento tra i limiti interni ed esterni è determinato 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 memorizzare automaticamente le posizioni delle finestre, puoi assegnare loro degli ID. Se una finestra ha un ID, questo viene utilizzato per memorizzare 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 nelle aperture successive 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 facoltativa
Il parametro
callback
ha il seguente aspetto:(createdWindow: AppWindow) => void
-
createdWindow
-
Resi
-
Promise<AppWindow>
Chrome 117+Le promesse sono supportate solo per Manifest V3 e versioni successive, 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" di JavaScript). Può essere chiamato anche su un handle di un contesto di script per un'altra pagina, ad esempio: otherWindow.chrome.app.window.current().
Resi
-
AppWindow | undefined
get()
chrome.app.window.get(
id: string,
): AppWindow | undefined
Recupera un AppWindow
con l'ID specificato. Se non esiste alcuna finestra con l'ID specificato, viene restituito null. Questo metodo è nuovo in Chrome 33.
Parametri
-
id
stringa
Resi
-
AppWindow | undefined
getAll()
chrome.app.window.getAll(): AppWindow[]
Restituisce un array di tutte le finestre dell'app attualmente create. Questo metodo è nuovo in 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 in chiusura sarà in fase di eliminazione 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