Las AWP pueden usar la propiedad "display_override" para controlar los modos de visualización especiales.
Un manifiesto de app web es un archivo JSON que le informa al navegador sobre tu app web progresiva y cómo debe comportarse cuando se instala en el dispositivo de escritorio o móvil del usuario.
A través de la propiedad display
, puedes personalizar la IU del navegador que se muestra cuando se inicia la app. Por ejemplo, puedes ocultar la barra de direcciones y el borde del navegador. Incluso se pueden configurar los juegos para que se inicien en pantalla completa.
A modo de resumen, a continuación, se muestran los modos de visualización que se especifican en el momento en que se escribió este artículo.
Propiedad | Uso |
---|---|
fullscreen |
Abre la aplicación web sin ninguna IU del navegador y ocupa todo el área de visualización disponible. |
standalone |
Abre la app web para que se vea y se sienta como una app independiente. La app se ejecuta en su propia ventana, separada del navegador, y oculta los elementos de la IU estándar del navegador, como la barra de URL. |
minimal-ui |
Este modo es similar a standalone , pero le proporciona al usuario un conjunto mínimo de elementos de la IU para controlar la navegación (como Atrás y Volver a cargar).
|
browser |
Una experiencia de navegador estándar. |
Estos modos de visualización siguen una cadena de resguardo bien definida ("fullscreen"
→ "standalone"
→ "minimal-ui"
→ "browser"
). Si un navegador no admite un modo determinado, recurre al siguiente modo de visualización de la cadena.
Desventajas de la propiedad display
El problema con este enfoque de cadena de resguardo con cable fijo es triple:
- Un desarrollador no puede solicitar
"minimal-ui"
sin que se lo obligue a volver al modo de visualización"browser"
en caso de que un navegador determinado no admita"minimal-ui"
. - Los desarrolladores no tienen forma de controlar las diferencias entre navegadores, como si el navegador incluye o excluye un botón Atrás en la ventana del modo
"standalone"
. - El comportamiento actual hace imposible presentar nuevos modos de visualización de manera retrocompatible, ya que las exploraciones como el modo de aplicación con pestañas no tienen un lugar natural en la cadena de resguardo.
La propiedad display_override
La propiedad display_override
resuelve estos problemas, que el navegador considera antes que la propiedad display
. Su valor es una secuencia de cadenas que se consideran en orden, y se aplica el primer modo de visualización compatible. Si no se admite ninguno, el navegador vuelve a evaluar el campo display
.
En el siguiente ejemplo, la cadena de resguardo del modo de visualización sería la siguiente.
(Los detalles de "window-controls-overlay"
están fuera del alcance de este artículo).
"window-controls-overlay"
(Primero, consultadisplay_override
)."minimal-ui"
"standalone"
(Cuando se agotedisplay_override
, evalúadisplay
)."minimal-ui"
(por último, usa la cadena de resguardodisplay
)."browser"
{
"display_override": ["window-controls-overlay", "minimal-ui"],
"display": "standalone",
}
Para mantener la retrocompatibilidad, cualquier modo de visualización futuro solo se aceptará como un valor de display_override
, pero no de display
.
Los navegadores que no admiten display_override
recurren a la propiedad display
y omiten display_override
como una propiedad de manifiesto de app web desconocida.
Vínculos útiles
- Explicaciones
- Intent to Ship thread
- Error de Chromium
- Entrada de estado de Chrome
- Repositorio de incubaciones de manifiestos
Agradecimientos
Daniel Murphy formalizó la propiedad display_override
.