Le PWA possono utilizzare la proprietà "display_override" per gestire le modalità di visualizzazione speciali.
Un manifest dell'app web è un file JSON che comunica al browser la tua Progressive
Web App e il suo comportamento quando viene installata sul computer o sul dispositivo mobile dell'utente.
Tramite la proprietà display, puoi personalizzare l'interfaccia utente del browser visualizzata all'avvio dell'app. Ad esempio, puoi nascondere la
barra degli indirizzi e la cromatura del browser. I giochi possono anche essere impostati per essere avviati a schermo intero.
Per riassumere, di seguito sono riportate le modalità di visualizzazione specificate al momento della stesura di questo articolo.
| Proprietà | Utilizzare |
|---|---|
fullscreen |
Apre l'applicazione web senza alcuna UI del browser e occupa l'intera area di visualizzazione disponibile. |
standalone |
Apre l'app web in modo che abbia l'aspetto di un'app autonoma. L'app viene eseguita in una finestra separata dal browser e nasconde gli elementi standard dell'interfaccia utente del browser, come la barra degli URL. |
minimal-ui |
Questa modalità è simile a standalone, ma fornisce all'utente un insieme minimo di elementi UI per controllare la navigazione (ad esempio Indietro e Ricarica).
|
browser |
Un'esperienza di navigazione 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.
Carenze della proprietà display
Il problema con questo approccio a catena di fallback 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 i 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à applicazione a schede non hanno un posto naturale nella catena di fallback.
Proprietà display_override
Questi problemi vengono risolti dalla proprietà display_override, che il browser considera prima
della proprietà display. Il suo valore è una sequenza di stringhe considerate in ordine e viene applicata la prima modalità di visualizzazione supportata. Se nessuno è supportato, il browser torna a valutare
il campo display.
Nell'esempio riportato di seguito, la catena di fallback della modalità di visualizzazione sarebbe la seguente.
I dettagli di "window-controls-overlay" non rientrano nell'ambito di questo articolo.
"window-controls-overlay"(Per prima cosa, guardadisplay_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 tornano alla proprietà display e ignorano
display_override come proprietà sconosciuta del manifest dell'app web.
Link utili
- Explainer
- Thread Intenzione di spedizione
- Bug di Chromium
- Voce dello stato di Chrome
- Repository Manifest Incubations
Riconoscimenti
La proprietà display_override è stata formalizzata da
Daniel Murphy.