इस पेज पर, Manifest V3 पर माइग्रेट करते समय प्लैटफ़ॉर्म से जुड़ी उन समस्याओं के बारे में बताया गया है जिन्हें ठीक कर दिया गया है. साथ ही, माइग्रेशन के बारे में अक्सर पूछे जाने वाले सवालों के जवाब दिए गए हैं.
प्लैटफ़ॉर्म से जुड़ी समस्याओं को ठीक किया गया
माइग्रेशन से जुड़ी सामान्य समस्याओं को हल करने के लिए, ये सुविधाएं जोड़ी गई हैं:
- ChromeOS पर फ़ाइल हैंडलिंग के लिए सहायता,
chrome.fileBrowserHandler(Chrome 120) की जगह पर उपलब्ध है. - उपयोगकर्ता स्क्रिप्ट के लिए सहायता: नए userScripts API (Chrome 120) की मदद से, किसी भी कोड के साथ कॉन्टेंट स्क्रिप्ट रजिस्टर करने की अनुमति दें.
- पांच मिनट से ज़्यादा समय लेने वाले कुछ ऑपरेशनों के लिए, सर्विस वर्कर को चालू रखने की अतिरिक्त सुविधा.
- इसे Chrome 116 में
permissions.request(),desktopCapture.chooseDesktopMedia(),identity.launchWebAuthFlow(), औरmanagement.uninstall()के लिए जोड़ा गया है. - इसे Chrome 118 में
chrome.debuggerके लिए जोड़ा गया है.
- इसे Chrome 116 में
- डिक्लेरेटिव नेट रिक्वेस्ट (डीएनआर) के लिए, स्टैटिक और चालू किए गए नियमों के सेट की संख्या बढ़ाएं. चालू की गई स्टैटिक रूलसेट की संख्या 10 से बढ़कर 50 हो गई है. साथ ही, स्टैटिक रूलसेट की कुल संख्या 50 से बढ़कर 100 हो गई है (Chrome 120).
- स्क्रीन से बाहर मौजूद दस्तावेज़ की सुविधा को बेहतर बनाया गया है, ताकि स्क्रीन से बाहर मौजूद दस्तावेज़ का इस्तेमाल करने के ज़्यादा से ज़्यादा मामलों में मदद मिल सके. Chrome 116 में
GEOLOCATIONको जोड़ा गया है. chrome.tabCaptureएपीआई के लिए बेहतर सहायता (Chrome 116):- सर्विस वर्कर से
getMediaStreamId()को कॉल करने की सुविधा. - स्क्रीन पर न दिखने वाले दस्तावेज़ में, स्ट्रीम आईडी से
MediaStreamपाने की सुविधा.
- सर्विस वर्कर से
WebSocketकनेक्शन चालू होने पर, सर्विस वर्कर के लाइफ़टाइम को बढ़ाना (Chrome 116).
Manifest V3 के बारे में अक्सर पूछे जाने वाले सवाल
सवाल: क्या हम पर्सिस्टेंट सर्विस वर्कर की सुविधा उपलब्ध कराने का प्लान बना रहे हैं?
A: बैकग्राउंड स्क्रिप्ट से सर्विस वर्कर पर माइग्रेट करने की मुख्य वजहों में से एक यह है कि सर्विस वर्कर, इवेंट-ड्रिवन प्रोग्रामिंग मॉडल को ज़्यादा मेमोरी के साथ इस्तेमाल करते हैं. ऐसा इसलिए होता है, क्योंकि सर्विस वर्कर कुछ समय के लिए ही उपलब्ध होते हैं. इसलिए, हम पर्सिस्टेंट सर्विस वर्कर की सुविधा उपलब्ध नहीं कराएंगे. हालांकि, एक्सटेंशन डेवलपर की खास ज़रूरतों को पूरा करने के लिए, हम सर्विस वर्कर में कई सुधार कर रहे हैं. खास तौर पर:
- सभी एक्सटेंशन इवेंट और एपीआई कॉल, सर्विस वर्कर के लाइफ़टाइम को बढ़ा देंगे.
- नेटिव मैसेजिंग जैसे कुछ इस्तेमाल के उदाहरणों के लिए, एक्सटेंशन के सर्विस वर्कर पांच मिनट से ज़्यादा समय तक चालू रहेंगे.
सवाल: क्या सर्विस वर्कर में डीओएम को ऐक्सेस करने का कोई तरीका है?
A: हम वेब प्लैटफ़ॉर्म के तरीके का पालन करते हैं. इसके तहत, वेब वर्कर (इसमें सर्विस वर्कर शामिल हैं) में DOM ऐक्सेस को शामिल नहीं किया जाता. हमने कम समय के लिए उपलब्ध रहने वाले ऑफ़स्क्रीन दस्तावेज़ों को बैकग्राउंड में काम करने की सुविधा दी है. इससे, सर्विस वर्कर को बैकग्राउंड में डीओएम ऐक्सेस करने की सुविधा मिलती है.
सवाल: क्या Manifest V3 में रिमोट कोड इस्तेमाल करने की सुविधा उपलब्ध होगी?
A: Chrome एक्सटेंशन को ज़्यादा सुरक्षित बनाने के लिए, हम Chrome एक्सटेंशन में रिमोट होस्ट किए गए कोड को एक्ज़ीक्यूट करने की अनुमति नहीं देंगे. हालांकि, इसका मतलब यह नहीं है कि हम डाइनैमिक कोड एक्ज़ीक्यूशन के सभी तरीकों को अनुमति नहीं देते. हम अब भी Chrome एक्सटेंशन में, डाइनैमिक तरीके से कोड को एक्ज़ीक्यूट करने के अलग-अलग विकल्पों के साथ काम करते हैं:
- DevTools एक्सटेंशन में
eval()के लिए सहायता - यूज़र स्क्रिप्ट के लिए सहायता.
- सैंडबॉक्स किए गए iframe में, रिमोट तरीके से होस्ट किया गया कोड चलाना
- रिमोट होस्ट की गई कॉन्फ़िगरेशन फ़ाइलें, जिन्हें एक्सटेंशन पैकेज में रनटाइम के दौरान समझा जा सकता है. हालांकि, एक्ज़ीक्यूशन के संभावित पाथ पहले से तय होने चाहिए.
सवाल: मेरा Manifest V2 एक्सटेंशन, webRequestBlocking पर निर्भर करता है. यह सुविधा Manifest V3 में काम नहीं करती. मैं Manifest V3 में भी वही सुविधाएं कैसे उपलब्ध कराऊं?
A: हमें भरोसा है कि अनुरोध ब्लॉक करने के ज़्यादातर मामलों को नए declarativeNetRequest API की मदद से हल किया जा सकता है. इसका एक और फ़ायदा यह है कि इससे इंटरप्रोसेस कम्यूनिकेशन, हर अनुरोध पर कोड को लागू करने या अनुरोध के समय एक्सटेंशन प्रोसेस को चालू रखने की परफ़ॉर्मेंस पर पड़ने वाले असर से बचा जा सकता है. हालांकि, एंटरप्राइज़ (या शिक्षा) से जुड़े इस्तेमाल के जटिल मामलों के लिए, डाइनैमिक अनुरोध को ब्लॉक करने की सुविधा अब भी उपलब्ध है.
क्या हमसे कोई जानकारी छूट गई है? कृपया हमें बताएं.