एक्सटेंशन, थीम, और ऐप्लिकेशन सिर्फ़ संसाधनों का बंडल होते हैं. इन्हें
manifest.json
फ़ाइल, जो पैकेज के कॉन्टेंट के बारे में जानकारी देती है. इस फ़ाइल का फ़ॉर्मैट यह है
आम तौर पर स्थिर होते हैं, लेकिन अहम समस्याओं को ठीक करने के लिए, समय-समय पर नुकसान पहुंचाने वाले बदलाव करने ज़रूरी हैं.
डेवलपर को यह बताना चाहिए कि मेनिफ़ेस्ट का कौनसा वर्शन, उनके पैकेज को टारगेट करता है
अपने मेनिफ़ेस्ट में manifest_version
कुंजी सेट करने का विकल्प मिलेगा.
वर्तमान वर्शन
डेवलपर को फ़िलहाल 'manifest_version': 2
की जानकारी देनी चाहिए:
{
...,
"manifest_version": 2,
...
}
Chrome 18 में मेनिफ़ेस्ट वर्शन 1 को बंद कर दिया गया है. साथ ही, नई रिलीज़ के हिसाब से, यह सुविधा धीरे-धीरे बंद कर दी जाएगी शेड्यूल नहीं किया जा सकता.
मेनिफ़ेस्ट वर्शन 1 के लिए सहायता शेड्यूल
अगस्त 2012
- 'वेब स्टोर', नए मेनिफ़ेस्ट वर्शन 1 के एक्सटेंशन बनाने पर रोक लगा देगा.
- 'वेब स्टोर', मौजूदा मेनिफ़ेस्ट वर्शन 1 के एक्सटेंशन को अपडेट करने की अनुमति देगा.
मार्च 2013
- वेब स्टोर 4 मार्च, 2013 से मेनिफ़ेस्ट वर्शन 1 एक्सटेंशन के अपडेट ब्लॉक कर देगा.
अप्रैल 2013
- Chrome 27 बीटा, पैकेजिंग मेनिफ़ेस्ट वर्शन 1 एक्सटेंशन को बंद कर देगा (या उन्हें डेवलपमेंट).
जून 2013
- वेब स्टोर मेनिफ़ेस्ट वर्शन 1 एक्सटेंशन को वॉल, खोज के नतीजों, और श्रेणी वाले पेज.
- उन सभी डेवलपर को सूचना वाले ईमेल भेजे जाएंगे जिनके पास मेनिफ़ेस्ट वर्शन 1 एक्सटेंशन अब भी स्टोर में मौजूद है उन्हें याद दिलाना कि ये एक्सटेंशन अनपब्लिश किए जाएंगे और इन्हें अपडेट करने के निर्देश दिए जाएंगे.
सितंबर 2013
- वेब स्टोर सभी मेनिफ़ेस्ट वर्शन 1 एक्सटेंशन का प्रकाशन बंद कर देगा.
- उन डेवलपर को आखिरी सूचना वाले ईमेल भेजे जाएंगे जिनके मेनिफ़ेस्ट वर्शन 1 के एक्सटेंशन अब भी वेब पर मौजूद हैं स्टोर.
- Chrome, इंस्टॉल किए गए मेनिफ़ेस्ट वर्शन 1 के एक्सटेंशन को लोड करना और चलाना जारी रखेगा.
जनवरी 2014
- Chrome, मेनिफ़ेस्ट वर्शन 1 के एक्सटेंशन लोड करना या चलाना बंद कर देगा.
वर्शन 1 और 2 में हुए बदलाव
- कॉन्टेंट की सुरक्षा के बारे में नीति, डिफ़ॉल्ट रूप से
`script-src 'self'; object-src 'self';
पर सेट होती है. यह डेवलपर पर कई तरह से असर पड़ता है. इस बारे मेंcontent_security_policy
में पूरी जानकारी दी गई है दस्तावेज़. - किसी पैकेज के संसाधन अब डिफ़ॉल्ट रूप से बाहरी वेबसाइटों के लिए उपलब्ध नहीं होते हैं (क्योंकि
src
इमेज याscript
टैग). अगर आपको कोई वेबसाइट अपने पैकेज उपलब्ध नहीं है, तो आपकोweb_accessible_resources
मेनिफ़ेस्ट के ज़रिए इसे साफ़ तौर पर अनुमति वाली सूची में जोड़ना होगा एट्रिब्यूट की वैल्यू सबमिट करें. यह सुविधा खास तौर पर, उन एक्सटेंशन के लिए काम की है जो किसी वेबसाइट पर इंटरफ़ेस तैयार करते हैं इंजेक्ट की गई कॉन्टेंट स्क्रिप्ट के ज़रिए पेश करते हैं. background_page
प्रॉपर्टी को ऐसीbackground
प्रॉपर्टी से बदल दिया गया है जिसमें यह शामिल है या तोscripts
याpage
प्रॉपर्टी. इवेंट पेज पर इससे जुड़ी जानकारी उपलब्ध है दस्तावेज़.ब्राउज़र की कार्रवाई में हुए बदलाव:
- मेनिफ़ेस्ट में
browser_actions
कुंजी औरchrome.browserActions
एपीआई अब मौजूद नहीं हैं. इसका इस्तेमाल करें इसके बजाय, एक ही शब्दbrowser_action
औरchrome.browserAction
का इस्तेमाल करें. browser_action
कीicons
प्रॉपर्टी हटा दी गई है.default_icon
प्रॉपर्टी का इस्तेमाल करें या इसके बजाय browserAction.setIcon पर जाएं.browser_action
कीname
प्रॉपर्टी हटा दी गई है.default_title
प्रॉपर्टी का इस्तेमाल करें या इसके बजाय browserAction.setTitle.browser_action
कीpopup
प्रॉपर्टी हटा दी गई है.default_popup
का इस्तेमाल करें प्रॉपर्टी या browserAction.setPopup का इस्तेमाल करते हैं.browser_action
कीdefault_popup
प्रॉपर्टी को अब ऑब्जेक्ट के तौर पर नहीं बताया जा सकता. यह स्ट्रिंग होनी चाहिए.
- मेनिफ़ेस्ट में
पेज कार्रवाई में हुए बदलाव:
- मेनिफ़ेस्ट में
page_actions
कुंजी औरchrome.pageActions
एपीआई अब मौजूद नहीं हैं. इसका इस्तेमाल करें इसके बजाय, एक ही शब्दpage_action
औरchrome.pageAction
का इस्तेमाल करें. page_action
कीicons
प्रॉपर्टी हटा दी गई है.default_icon
प्रॉपर्टी का इस्तेमाल करें या इसके बजाय, pageAction.setIcon पर जाएं.page_action
कीname
प्रॉपर्टी हटा दी गई है.default_title
प्रॉपर्टी का इस्तेमाल करें या इसके बजाय, pageAction.setTitle का इस्तेमाल करें.page_action
कीpopup
प्रॉपर्टी हटा दी गई है.default_popup
प्रॉपर्टी का इस्तेमाल करें या pageAction.setPopup का इस्तेमाल करें.page_action
कीdefault_popup
प्रॉपर्टी को अब ऑब्जेक्ट के तौर पर नहीं बताया जा सकता. इस पर ज़रूर ध्यान देना चाहिए स्ट्रिंग डालें.
- मेनिफ़ेस्ट में
chrome.self
एपीआई को हटा दिया गया है. इसके बजाय,chrome.extension
का इस्तेमाल करें.chrome.extension.getTabContentses
(!!!) औरchrome.extension.getExtensionTabs
अब मौजूद नहीं हैं. इस्तेमाल की जाने वाली चीज़ें इसके बजाय, extension.getViews में बदल सकते हैं.Port.tab
अब मौजूद नहीं है. इसके बजाय, runtime.Port का इस्तेमाल करें.