Le PWA possono utilizzare la proprietà "display_override" per gestire modalità di visualizzazione speciali.
Un manifest dell'app web è un file JSON che indica al browser la tua app web progressiva e il suo comportamento quando è installata sul dispositivo mobile o desktop dell'utente.
Tramite la proprietà display
, puoi personalizzare l'interfaccia utente del browser visualizzata al momento dell'avvio dell'app. Ad esempio, puoi nascondere la barra degli indirizzi e la barra del browser. I giochi possono anche essere avviati a schermo intero.
Per riepilogare, di seguito sono riportate le modalità di visualizzazione specificate al momento della stesura di questo articolo.
Proprietà | Utilizzo |
---|---|
fullscreen |
Apre l'applicazione web senza interfaccia utente del browser e occupa interamente l'area di visualizzazione disponibile. |
standalone |
L'app web si apre con l'aspetto di un'app autonoma. L'app viene eseguita in una finestra separata dal browser e nasconde gli elementi dell'interfaccia utente del browser standard, come la barra degli URL. |
minimal-ui |
Questa modalità è simile a standalone , ma fornisce all'utente un insieme minimo di elementi dell'interfaccia utente per controllare la navigazione (ad esempio Indietro e Ricarica).
|
browser |
Un'esperienza di browser standard. |
Queste modalità di visualizzazione seguono una catena di riserva ben definita ("fullscreen"
→ "standalone"
→ "minimal-ui"
→ "browser"
). Se un browser non supporta una determinata modalità, passa alla modalità di visualizzazione successiva della catena.
Mancanza di funzionalità della proprietà display
Il problema di questo approccio di catena di riserva cablata è triplice:
- Uno sviluppatore non può richiedere
"minimal-ui"
senza essere costretto a tornare alla modalità di visualizzazione"browser"
nel caso in cui"minimal-ui"
non sia supportato da un determinato browser. - Gli sviluppatori non hanno modo di gestire le differenze tra browser, ad esempio se il browser include o esclude un pulsante Indietro nella finestra per la modalità
"standalone"
. - Il comportamento attuale rende impossibile introdurre nuove modalità di visualizzazione in modo compatibile con le versioni precedenti, poiché esplorazioni come la modalità di applicazione a schede non hanno un ruolo naturale nella catena di riserva.
La proprietà display_override
Questi problemi vengono risolti dalla proprietà display_override
, che il browser prende in considerazione prima della proprietà display
. Il suo valore è una sequenza di stringhe considerate in ordine e viene applicata la prima modalità di visualizzazione supportata. Se non sono supportati, il browser ricorre alla valutazione del campo display
.
Nell'esempio seguente, la catena di riserva della modalità di visualizzazione è la seguente.
I dettagli di "window-controls-overlay"
non rientrano nell'ambito di questo articolo.
"window-controls-overlay"
(Innanzitutto, consultadisplay_override
.)"minimal-ui"
"standalone"
(quandodisplay_override
è esaurito, valutadisplay
)."minimal-ui"
(Infine, utilizza la catena di riservadisplay
)."browser"
{
"display_override": ["window-controls-overlay", "minimal-ui"],
"display": "standalone",
}
Per mantenere la compatibilità con le versioni precedenti, qualsiasi modalità di visualizzazione futura sarà accettabile solo come valore di
display_override
, ma non di display
.
I browser che non supportano display_override
utilizzano la proprietà display
e ignoranodisplay_override
come proprietà manifest dell'app web sconosciuta.
Link utili
- Spiegazione
- Thread Intent to Ship
- Bug di Chromium
- Voce dello stato di Chrome
- Repository Manifest Incubations
Riconoscimenti
La proprietà display_override
è stata formalizzata da
Daniel Murphy.