आने वाले समय में, डिसप्ले मोड के हिसाब से तैयारी की जा रही है

PWAs, "display_override" प्रॉपर्टी का इस्तेमाल करके, खास डिसप्ले मोड को मैनेज कर सकते हैं.

वेब ऐप्लिकेशन मेनिफ़ेस्ट एक JSON फ़ाइल होती है. यह ब्राउज़र को आपके प्रोग्रेसिव वेब ऐप्लिकेशन के बारे में बताती है. साथ ही, यह भी बताती है कि उपयोगकर्ता के डेस्कटॉप या मोबाइल डिवाइस पर इंस्टॉल होने के बाद, इसे कैसे काम करना चाहिए. display प्रॉपर्टी की मदद से, यह तय किया जा सकता है कि ऐप्लिकेशन लॉन्च होने पर कौनसा ब्राउज़र यूज़र इंटरफ़ेस (यूआई) दिखेगा. उदाहरण के लिए, पता बार और ब्राउज़र क्रोम को छिपाया जा सकता है. गेम को फ़ुल स्क्रीन मोड में लॉन्च करने के लिए भी बनाया जा सकता है. इस लेख को लिखते समय, डिसप्ले मोड के बारे में यहां बताया गया है.

प्रॉपर्टी इस्तेमाल
fullscreen यह वेब ऐप्लिकेशन को बिना किसी ब्राउज़र यूज़र इंटरफ़ेस (यूआई) के खोलता है. साथ ही, डिसप्ले के पूरे उपलब्ध हिस्से पर दिखता है.
standalone यह वेब ऐप्लिकेशन को इस तरह से खोलता है कि वह एक स्टैंडअलोन ऐप्लिकेशन की तरह दिखता है. यह ऐप्लिकेशन, ब्राउज़र से अलग अपनी विंडो में चलता है. साथ ही, यह यूआरएल बार जैसे स्टैंडर्ड ब्राउज़र यूज़र इंटरफ़ेस (यूआई) एलिमेंट को छिपाता है.
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" की जानकारी इस लेख के दायरे से बाहर है.)

  1. "window-controls-overlay" (सबसे पहले, display_override देखें.)
  2. "minimal-ui"
  3. "standalone" (जब display_override खत्म हो जाए, तब display का आकलन करें.)
  4. "minimal-ui" (आखिर में, display फ़ॉलबैक चेन का इस्तेमाल करें.)
  5. "browser"
{
  "display_override": ["window-controls-overlay", "minimal-ui"],
  "display": "standalone",
}

पिछले वर्शन के साथ काम करने के लिए, आने वाले समय में कोई भी डिसप्ले मोड सिर्फ़ display_override की वैल्यू के तौर पर स्वीकार किया जाएगा, न कि display की वैल्यू के तौर पर. जो ब्राउज़र display_override के साथ काम नहीं करते वे display प्रॉपर्टी पर वापस आ जाते हैं और display_override को वेब ऐप्लिकेशन मेनिफ़ेस्ट की अनजान प्रॉपर्टी के तौर पर अनदेखा कर देते हैं.

लोगों का आभार

display_override प्रॉपर्टी को डैनियल मर्फ़ी ने बनाया था.