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"
की जानकारी इस लेख के दायरे से बाहर है.)
"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
को वेब ऐप्लिकेशन मेनिफ़ेस्ट की अनजान प्रॉपर्टी के तौर पर अनदेखा कर देते हैं.
काम के लिंक
- ज़्यादा जानकारी
- Intent to Ship थ्रेड
- Chromium में गड़बड़ी
- Chrome स्टेटस एंट्री
- Manifest Incubations repository
लोगों का आभार
display_override
प्रॉपर्टी को डैनियल मर्फ़ी ने बनाया था.