फ़ाइल मैनेज करने की सुविधा इस्तेमाल करके, ChromeOS को कॉन्फ़िगर किया जा सकता है. इससे एक्सटेंशन को, फ़ाइल मेन्यू के 'खोलें' मेन्यू या संदर्भ मेन्यू के 'इससे खोलें' मेन्यू का इस्तेमाल करके फ़ाइलें खोलने में मदद मिलती है. फ़ाइल खुल जाने पर, वेब प्लैटफ़ॉर्म के लॉन्च हैंडलर एपीआई का इस्तेमाल करके, फ़ाइल का डेटा प्रोसेस किया जा सकता है. इसके बाद, आपको फ़ाइल को दिखाने या हैंडल करने के लिए, स्टैंडर्ड वेब प्लैटफ़ॉर्म एपीआई का इस्तेमाल करना होगा.
एक्सटेंशन में उपलब्धता
ChromeOS 120 या इसके बाद के वर्शन.
अनुमतियां
फ़ाइल मैनेज करने के लिए किसी अनुमति की ज़रूरत नहीं है.
मेनिफ़ेस्ट
आपको मेनिफ़ेस्ट.json फ़ाइल में "file_handlers"
कलेक्शन जोड़ना होगा.
वीडियो में इस्तेमाल किए गए संदर्भ को शामिल करना
इस एपीआई का इस्तेमाल एक्सटेंशन सर्विस वर्कर, पॉप-अप, साइड पैनल या कॉन्टेंट स्क्रिप्ट में किया जा सकता है.
फ़ाइल हैंडलर कॉन्फ़िगर करना
"file_handlers"
का हर सदस्य —मतलब, हर फ़ाइल हैंडलर—यह बताता है कि एक्सटेंशन पेज पर किस तरह की फ़ाइल को हैंडल करना है या किस तरह की फ़ाइल को हैंडल करना है.
आपके तय किए गए हैंडलर को ChromeOS की फ़ाइल विंडो, 'खोलें' और 'खास तौर पर खोलें' मेन्यू में जोड़ दिया जाएगा. इन मेन्यू में ये विज्ञापन तब ही दिखेंगे, जब उपयोगकर्ता किसी खास एक्सटेंशन वाली फ़ाइल चुनेगा. उदाहरण के लिए, अगर किसी फ़ाइल हैंडलर में .txt
की जानकारी दी गई है, तो ChromeOS मेन्यू में वह हैंडलर सिर्फ़ तब दिखेगा, जब इस एक्सटेंशन वाली फ़ाइल को चुना जाएगा.
फ़ाइल प्रोसेस करना
फ़ाइल हैंडलर आपके एक्सटेंशन में मौजूद एक एचटीएमएल फ़ाइल है. जब उपयोगकर्ता किसी मेन्यू से आपका हैंडलर चुनता है, तो एचटीएमएल फ़ाइल नए टैब में खुलती है. फ़ाइल को प्रोसेस करने के लिए, JavaScript का इस्तेमाल सही वेब प्लैटफ़ॉर्म एपीआई का इस्तेमाल करना होता है. भले ही, आपने फ़ाइल को दिखाया हो या किसी दूसरे तरीके से इस्तेमाल किया हो. प्रोसेसिंग कोड, एक अलग JavaScript फ़ाइल में होना चाहिए. साथ ही, उसे <script>
टैग के ज़रिए शामिल किया जाना चाहिए. साथ ही, यह आपके एक्सटेंशन में भी होना चाहिए. स्क्रिप्ट फ़ाइल, FileSystemFileHandle
ऑब्जेक्ट पाने के लिए लॉन्च हैंडलर एपीआई के LaunchQueue
इंटरफ़ेस का इस्तेमाल करती है.
उदाहरण
इस उदाहरण में, LaunchQueue
इंटरफ़ेस का इस्तेमाल करके FileSystemFileHandle
ऑब्जेक्ट पाने का तरीका बताया गया है. फ़ाइल मैनेज करने का तरीका देखने के लिए, फ़ाइल मैनेज करने का डेमो इंस्टॉल करें.
if ('launchQueue' in window) {
launchQueue.setConsumer(async launchParams => {
if (!launchParams.files || !launchParams.files.length) { return; }
const fileHandle = launchParams.files[0];
});
}
``````