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