Przygotowania do jutrzejszych trybów wyświetlania

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).

  1. "window-controls-overlay" (Najpierw zapoznaj się z artykułem display_override).
  2. "minimal-ui"
  3. "standalone" (gdy display_override zostanie wyczerpany, sprawdź display).
  4. "minimal-ui" (na końcu użyj łańcucha kreacji zastępczych display).
  5. "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.

Poświadczenia

Właściwość display_override została sformalizowana przez Daniela Murphy'ego.