אפליקציות PWA יכולות להשתמש במאפיין display_override כדי לטפל במצבי תצוגה מיוחדים.
מניפסט של אפליקציית אינטרנט הוא קובץ JSON שמספר לדפדפן על אפליקציית האינטרנט המתקדמת (PWA) ואיך היא אמורה להתנהג כשהיא מותקנת במחשב או במכשיר הנייד של המשתמש.
באמצעות הנכס display
, אפשר להתאים אישית את ממשק המשתמש של הדפדפן שיוצג כשהאפליקציה מופעלת. לדוגמה, אפשר להסתיר את סרגל הכתובות ואת מסגרת הדפדפן. אפשר אפילו להגדיר שהמשחקים יופעלו במסך מלא.
לסיכום, בהמשך מפורטים מצבי התצוגה שצוינו בזמן כתיבת המאמר הזה.
נכס | שימוש |
---|---|
fullscreen |
פתיחת אפליקציית האינטרנט ללא ממשק משתמש של דפדפן, שתופסת את כל אזור התצוגה הזמין. |
standalone |
פתיחת אפליקציית האינטרנט כך שהיא נראית ומתנהגת כמו אפליקציה עצמאית. האפליקציה פועלת בחלון משלה, נפרד מהדפדפן, ומסתירה רכיבי ממשק משתמש רגילים של הדפדפן, כמו סרגל כתובות ה-URL. |
minimal-ui |
המצב הזה דומה למצב standalone , אבל הוא מספק למשתמש קבוצה מינימלית של רכיבי ממשק משתמש לצורך שליטה בניווט (כמו 'חזרה' ו'טעינה מחדש').
|
browser |
חוויית שימוש רגילה בדפדפן. |
מצבי התצוגה האלה פועלים לפי שרשרת גיבוי מוגדרת היטב ("fullscreen"
→ "standalone"
→ "minimal-ui"
→ "browser"
). אם דפדפן לא תומך במצב מסוים, הוא עובר למצב התצוגה הבא בשרשרת.
נקודות חולשה של הנכס display
יש שלוש בעיות בגישה הזו של שרשרת חלופית מובנית:
- מפתח לא יכול לבקש את
"minimal-ui"
בלי להישאר במצב התצוגה"browser"
, במקרה שהדפדפן לא תומך ב-"minimal-ui"
. - למפתחים אין אפשרות לטפל בהבדלים בין דפדפנים, למשל אם הדפדפן כולל או לא כולל לחצן 'הקודם' בחלון של מצב
"standalone"
. - בגלל ההתנהגות הנוכחית, אי אפשר להציג מצבי תצוגה חדשים באופן תואם לאחור, כי לניתוח כמו מצב אפליקציה עם כרטיסיות אין מקום טבעי בשרשרת האפשרויות החלופיות.
הנכס display_override
הבעיות האלה נפתרות באמצעות המאפיין display_override
, שהדפדפן מתייחס אליו לפני המאפיין display
. הערך שלו הוא רצף של מחרוזות שנחשבות בסדר, והוא מפעיל את מצב התצוגה הנתמך הראשון. אם אף אחת מהן לא נתמכת, הדפדפן חוזר להערכת השדה display
.
בדוגמה הבאה, שרשרת החזרה לגיבוי של סטטוס התצוגה תיראה כך:
(פרטי "window-controls-overlay"
לא נכללים במאמר הזה).
"window-controls-overlay"
(קודם, כדאי לעיין במאמרdisplay_override
)."minimal-ui"
"standalone"
(כשהקצבה שלdisplay_override
תיגמר, תתבצע הערכה שלdisplay
)."minimal-ui"
(לבסוף, משתמשים בשרשרת הגיבויdisplay
)."browser"
{
"display_override": ["window-controls-overlay", "minimal-ui"],
"display": "standalone",
}
כדי לשמור על תאימות לאחור, כל מצב תצוגה עתידי יהיה קביל רק כערך של display_override
, אבל לא של display
.
בדפדפנים שלא תומכים ב-display_override
, המערכת תשתמש בנכס display
ותתעלם מ-display_override
כמאפיין לא ידוע של מניפסט של אפליקציית אינטרנט.
קישורים מועילים
אימות חתימות
המאפיין display_override
הוגדר באופן רשמי על ידי Daniel Murphy.