Modes d'affichage du manifeste (standalone, fullscreen…)
La propriété display d'un manifeste d'application web contrôle la quantité d'interface de navigateur qu'affiche une PWA installée. "browser" ouvre un onglet normal, "minimal-ui" conserve une fine barre de navigation, "standalone" ressemble à une application native sans interface de navigateur, et "fullscreen" masque tout, y compris la barre d'état. La plupart des applications installables utilisent "standalone", et le navigateur redescend la liste si un mode n'est pas pris en charge.
Quatre niveaux d'interface de navigateur
display est un champ unique du manifeste avec quatre valeurs, du plus d'interface de navigateur au moins. Le navigateur redescend la liste s'il ne prend pas en charge celle que vous avez demandée, donc une demande de fullscreen peut aboutir à standalone, et standalone à minimal-ui.
Les modes
| valeur de display | Ce que voit l'utilisateur |
|---|---|
| browser | Un onglet de navigateur normal, interface complète |
| minimal-ui | Une fine barre avec retour/rechargement, sans barre d'adresse |
| standalone | Allure d'application, sans interface de navigateur, barre d'état conservée |
| fullscreen | Tout masqué, y compris la barre d'état |
FAQ sur les modes d'affichage
Que fait display: standalone ?
Il lance la PWA installée sans aucune interface de navigateur (pas de barre d'adresse ni d'onglets), pour qu'elle ait l'air et le comportement d'une application native, tout en conservant la barre d'état de l'appareil.
Quel mode d'affichage devrais-je utiliser ?
Pour la plupart des applications installables, "standalone". Utilisez "fullscreen" uniquement pour les cas immersifs comme les jeux ; "minimal-ui" quand vous voulez un peu de navigation ; "browser" si vous ne voulez pas du tout d'un comportement d'application.
Pourquoi ma PWA affiche-t-elle encore la barre d'adresse ?
Soit l'application n'a pas réellement été installée (vous êtes toujours dans un onglet), soit le navigateur s'est rabattu sur un mode avec plus d'interface parce qu'il ne prend pas en charge celui que vous avez demandé.