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
DeprecatoUsa innerBounds o outerBounds.
Ottieni i limiti interni della finestra come oggetto
ContentBounds
.La funzione
getBounds
ha il seguente aspetto:() => {...}
-
returns
-
-
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 43Usa outerBounds.
Sposta la finestra nella posizione (
left
,top
).La funzione
moveTo
ha il seguente aspetto:(left: number, top: number) => {...}
-
a sinistra
numero
-
in alto
numero
-
-
resizeTo
void
Deprecata da Chrome 43Usa outerBounds.
Ridimensiona la finestra a
width
xheight
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
DeprecatoUsa innerBounds o outerBounds.
Imposta i limiti interni della finestra.
La funzione
setBounds
ha il seguente aspetto:(bounds: ContentBounds) => {...}
-
limiti
-
-
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". -
in alto
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 valoreundefined
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 valoreundefined
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
-
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
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.
-
in alto
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
-
in alto
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
DeprecatoUsa 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
ochrome
(il valore predefinito èchrome
). Pernone
, è 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 utilizzareno-drag
per disattivare questo stile negli elementi nidificati.L'utilizzo di
FrameOptions
è nuovo in M36. -
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 successiveURL 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 unid
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 perouterBounds
comporterà un errore.Questa proprietà è nuova in Chrome 36.
-
maxHeight
numero facoltativo
DeprecatoUsa innerBounds o outerBounds.
Altezza massima della finestra.
-
maxWidth
numero facoltativo
DeprecatoUsa innerBounds o outerBounds.
Larghezza massima della finestra.
-
minHeight
numero facoltativo
DeprecatoUsa innerBounds o outerBounds.
Altezza minima della finestra.
-
minWidth
numero facoltativo
DeprecatoUsa 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 unid
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 perouterBounds
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 successiveSe 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
DeprecatoNon 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 69Tutte 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.
-
color
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 acolor
.La colorazione della cornice è una novità di Chrome 36.
-
Tipo
stringa facoltativo
Tipo di frame:
none
ochrome
(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 utilizzareno-drag
per disattivare questo stile negli elementi nidificati.
State
Stato di una finestra: normale, a schermo intero, ingrandita, ridotta a icona.
Enum
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()
Indica se la piattaforma attuale supporta la visibilità delle finestre in tutte le aree di lavoro.
Ritorni
-
boolean
create()
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 del modello.
CreateWindowOptions facoltativo
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(createdWindow: AppWindow) => void
-
createdWindow
-
Ritorni
-
Promise<AppWindow>
Chrome 117 e versioni successiveLe 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 un contesto di script per un'altra pagina, ad esempio: otherWindow.chrome.app.window.current().
Ritorni
-
AppWindow | non definito
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
-
AppWindow | non definito
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