يمكن أن تستخدم تطبيقات الويب التقدّمية (PWA) السمة "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
.