يمكن أن تستخدم التطبيقات المتوافقة مع الأجهزة الجوّالة (PWAs) السمة display_override للتعامل مع أوضاع العرض الخاصة.
بيان تطبيق الويب هو ملف بتنسيق JSON يُعلم المتصفّح بتطبيق الويب المتقدّم
وطريقة سلوكه عند تثبيته على جهاز الكمبيوتر المكتبي أو الجهاز الجوّال للمستخدم.
من خلال موقع display
، يمكنك تخصيص واجهة مستخدم المتصفّح التي تظهر عند تشغيل تطبيقك. على سبيل المثال، يمكنك إخفاء
شريط العناوين وشريط متصفّح Chrome. ويمكن أيضًا تشغيل الألعاب بملء الشاشة.
في ما يلي ملخّص سريع لأوضاع العرض المحدّدة في وقت كتابة هذه المقالة.
الموقع | الاستخدام |
---|---|
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
رسميًا من قِبل
دانيال ميرفي.