PWA mogą używać właściwości „display_override” do obsługi specjalnych trybów wyświetlania.
Plik manifestu aplikacji internetowej to plik JSON, który informuje przeglądarkę o Twojej progresywnej aplikacji internetowej i o tym, jak powinna się ona zachowywać po zainstalowaniu na komputerze lub urządzeniu mobilnym użytkownika.
Za pomocą właściwości display
możesz dostosować interfejs przeglądarki, który ma być wyświetlany po uruchomieniu aplikacji. Możesz na przykład ukryć pasek adresu i elementy interfejsu przeglądarki. Gry mogą nawet uruchamiać się w trybie pełnoekranowym.
Oto krótkie podsumowanie trybów wyświetlania, które były dostępne w momencie pisania tego artykułu.
Właściwość | Użycie |
---|---|
fullscreen |
Otwiera aplikację internetową bez interfejsu przeglądarki i zajmuje całą dostępną powierzchnię wyświetlacza. |
standalone |
Otwiera aplikację internetową tak, aby wyglądała i działała jak samodzielna aplikacja. Aplikacja działa w oddzielnym oknie, oddzielnie od przeglądarki, i ukrywanie standardowych elementów interfejsu przeglądarki, takich jak pasek adresu. |
minimal-ui |
Ten tryb jest podobny do standalone , ale zapewnia użytkownikowi minimalny zestaw elementów interfejsu do sterowania nawigacją (takich jak wstecz i odśwież).
|
browser |
standardowa przeglądarka, |
Te tryby wyświetlania są zgodne z dobrze zdefiniowanym łańcuchem kreacji zastępczych ("fullscreen"
→ "standalone"
→ "minimal-ui"
→ "browser"
). Jeśli przeglądarka nie obsługuje danego trybu, przechodzi do następnego trybu wyświetlania w łańcuchu.
Wady właściwości display
Problem z tym sztywnym łańcuchem zastępczym jest trzykrotny:
- Jeśli przeglądarka nie obsługuje trybu
"minimal-ui"
, deweloper nie może wysłać żądania"minimal-ui"
, nie wracając do trybu"browser"
. - Deweloperzy nie mają możliwości obsługi różnic między przeglądarkami, np. jeśli przeglądarka zawiera lub nie zawiera przycisku Wstecz w oknie trybu
"standalone"
. - Obecne działanie uniemożliwia wprowadzenie nowych trybów wyświetlania w sposób zgodny z poprzednimi wersjami, ponieważ takie funkcje jak tryb aplikacji z kartami nie mają naturalnego miejsca w łańcuchu zastępczym.
Właściwość display_override
Te problemy są rozwiązywane przez właściwość display_override
, która jest rozpatrywana przez przeglądarkę przed właściwością display
. Jego wartość to sekwencja ciągów znaków, które są rozpatrywane w kolejności, a pierwszy obsługiwany tryb wyświetlania jest stosowany. Jeśli żaden z nich nie jest obsługiwany, przeglądarka przechodzi do oceny pola display
.
W przykładzie poniżej łańcuch zastępczy trybu wyświetlania wyglądałby tak:
(szczegóły dotyczące "window-controls-overlay"
wykraczają poza zakres tego artykułu).
"window-controls-overlay"
(Najpierw zapoznaj się z artykułemdisplay_override
)."minimal-ui"
"standalone"
(gdydisplay_override
zostanie wyczerpany, sprawdźdisplay
)."minimal-ui"
(na końcu użyj łańcucha kreacji zastępczychdisplay
)."browser"
{
"display_override": ["window-controls-overlay", "minimal-ui"],
"display": "standalone",
}
Aby zachować zgodność wsteczną, wszystkie przyszłe tryby wyświetlania będą akceptowane tylko jako wartości display_override
, a nie display
.
Przeglądarki, które nie obsługują właściwości display_override
, korzystają z właściwości display
i ignorują właściwości display_override
jako nieznanej właściwości pliku manifestu aplikacji internetowej.
Przydatne linki
- Wyjaśnienie
- Wątek dotyczący zamiaru wysyłki
- Błąd w Chromium
- Wpis w Chrome Status
- Repozytorium manifestów Incubations
Poświadczenia
Właściwość display_override
została sformalizowana przez Daniela Murphy'ego.