Les PWA peuvent utiliser la propriété "display_override" pour gérer les modes d'affichage spéciaux.
Un fichier manifeste d'application Web est un fichier JSON qui indique au navigateur votre progressive web app et son comportement une fois installée sur l'ordinateur ou l'appareil mobile de l'utilisateur.
La propriété display
vous permet de personnaliser l'interface utilisateur du navigateur à afficher au lancement de votre application. Par exemple, vous pouvez masquer
la barre d'adresse et le chrome du navigateur. Il est même possible de créer des jeux pour qu'ils s'affichent en plein écran.
Pour résumer, voici les modes d'affichage spécifiés au moment de la rédaction de cet article.
Propriété | Utilisation |
---|---|
fullscreen |
Ouvre l'application Web sans interface utilisateur de navigateur et occupe la totalité de la zone d'affichage disponible. |
standalone |
Ouvre l'application Web pour qu'elle ressemble à une application autonome. L'application s'exécute dans sa propre fenêtre, distincte du navigateur, et masque les éléments d'interface utilisateur standards du navigateur, tels que la barre d'adresse. |
minimal-ui |
Ce mode est semblable à standalone , mais il fournit à l'utilisateur un ensemble minimal d'éléments d'interface utilisateur pour contrôler la navigation (comme le retour et l'actualisation).
|
browser |
Une expérience de navigateur standard. |
Ces modes d'affichage suivent une chaîne de remplacement bien définie ("fullscreen"
→ "standalone"
→ "minimal-ui"
→ "browser"
). Si un navigateur n'accepte pas un mode donné, il passe au mode d'affichage suivant dans la chaîne.
Caractéristiques de la propriété display
Le problème avec cette approche avec une chaîne de remplacement filaire est triple:
- Un développeur ne peut pas demander
"minimal-ui"
sans être obligé de revenir au mode d'affichage"browser"
si"minimal-ui"
n'est pas compatible avec un navigateur donné. - Les développeurs n'ont aucun moyen de gérer les différences entre les navigateurs, par exemple si le navigateur inclut ou exclut un bouton de retour dans la fenêtre du mode
"standalone"
. - Le comportement actuel ne permet pas d'introduire de nouveaux modes d'affichage de manière rétrocompatible, car les explorations telles que le mode d'application par onglets n'ont pas de place naturelle dans la chaîne de remplacement.
La propriété display_override
Ces problèmes sont résolus par la propriété display_override
, que le navigateur prend en compte avant la propriété display
. Sa valeur est une séquence de chaînes considérées dans l'ordre. Le premier mode d'affichage compatible est appliqué. Si aucun champ n'est accepté, le navigateur revient à l'évaluation du champ display
.
Dans l'exemple ci-dessous, la chaîne de remplacement du mode d'affichage se présenterait comme suit.
(Les détails de "window-controls-overlay"
ne sont pas pris en charge pour cet article.)
"window-controls-overlay"
(Observez tout d'aborddisplay_override
.)"minimal-ui"
"standalone"
(Lorsque la valeur dedisplay_override
est épuisée, évaluezdisplay
.)"minimal-ui"
(Enfin, utilisez la série de créations de remplacementdisplay
.)"browser"
{
"display_override": ["window-controls-overlay", "minimal-ui"],
"display": "standalone",
}
Pour rester rétrocompatible, tout mode d'affichage futur ne sera accepté qu'en tant que valeur display_override
, mais pas display
.
Les navigateurs qui ne sont pas compatibles avec display_override
utilisent la propriété display
et ignorent display_override
en tant que propriété manifeste d'application Web inconnue.
Liens utiles
- Contenu explicatif
- Intent d'envoi du thread
- Bug Chromium
- Saisie de l'état Chrome
- Dépôt Manifest Incubations
Remerciements
La propriété display_override
a été formalisée par Daniel Murphy.