15

मुझे कुछ Google क्रोम एक्सटेंशन लिखने की आवश्यकता है। समस्या यह है कि क्रोम जावास्क्रिप्ट एपीआई मुझे पर्याप्त शक्ति नहीं देते - मुझे देशी कोड का उपयोग करने की आवश्यकता है। मैंने एक एनपीएपीआई प्लग-इन लिखने के बारे में सोचा जो कुछ कस्टम जेएस एपीआई एक्सटेंशन प्रदान करेगा।Google क्रोम एक्सटेंशन और एनपीएपीआई

क्या एक्सटेंशन को पैकेज करना संभव है, साथ ही कस्टम एनपीएपीआई प्लगइन को .crx के अंदर, और फिर इसे Chrome Extensions Store पर अपलोड करना संभव है?

इस विधि के साथ एक और मुद्दा यह है कि एनपीएपीआई प्लगइन में कई संस्करण होंगे: लिनक्स, विंडोज़, ओएस एक्स, x86, x86-64, आदि। क्या इन सभी को क्रैक्स में पैकेज करना और सर्वोत्तम संस्करण का उपयोग करना संभव है?

धन्यवाद।

संपादित करें:this पढ़ने के बाद, मुझे एहसास हुआ कि एक सीआरएक्स में बहु-मंच मुद्दे को सुन्दर तरीके से हल करना संभव नहीं है। लेकिन - क्या क्रोम एक्सटेंशन स्टोर में प्रत्येक प्लेटफ़ॉर्म के लिए अलग-अलग crx-s अपलोड करना संभव है?

+0

आपके संपादन में आपने कहा कि यह संभव नहीं है, लेकिन क्या यह अभी भी मोहम्मद के उत्तर के प्रकाश में सच है? –

उत्तर

16

आप एक CRX में बहु मंच चाहते हैं, तो आप उन्हें इस क्रम में प्रकट भीतर रखना चाहिए:

"plugins": [ 
    { "path": "plugin-windows.dll" }, 
    { "path": "plugin-linux.so" }, 
    { "path": "plugin-mac.plugin" } 
] 

दुकान करने के लिए अपने NPAPI एक्सटेंशन को अपलोड केवल गूगल क्रोम एक्सटेंशन में काम करेंगे याद रखें। Google क्रोम ओएस (जो Google क्रोम का उपयोग करता है) के मामले में, आप एनपीएपीआई का उपयोग करने में सक्षम नहीं होंगे।

लेकिन आप PPAPI ध्यान देना चाहिए जो सुझाया गया तरीका विस्तार के लिए प्लगइन विकास कर रही हो जाएगा:

http://src.chromium.org/viewvc/chrome/trunk/src/ppapi/

एक्सटेंशन में इस बीच NPAPI में, आप इस गाइड (जो अच्छा काम करता है) का पालन करने की जरूरत है:

http://code.google.com/chrome/extensions/npapi.html

बस याद रखें, आप वास्तव में कि आपके एक्सटेंशन में NPAPI का उपयोग करने की आवश्यकता है? यदि आप एक HTML5 वर्कअराउंड पा सकते हैं, तो यह बेहतर होगा।

+0

dll/so फ़ाइलों को x86 या x86-64 के लिए संकलित किया जाना चाहिए? Google क्रोम के कौन से संस्करण पीपीएपीआई काम करते हैं? –

+0

पीपीएपीआई वर्तमान में प्रगति पर काम कर रहा है, आप इसके बारे में अधिक जानकारी प्राप्त कर सकते हैं, यहां: http://www.chromium.org/developers/design-documents/pepper-plugin-implementation खैर, संकलन से कोई फर्क नहीं पड़ता (afaik), मेरे पास 64 बिट सिस्टम है और मैं इसे सामान्य रूप से संकलित करता हूं और यह 32 बिट प्लेटफॉर्म पर काम करता है। लिनक्स के लिए –

+1

@ मोहम्मद मैन्सोर इससे कोई फर्क नहीं पड़ता। मुझे परियोजना के लिए लिनक्स 32-बिट और 64-बिट के लिए अलग से * .so फ़ाइल संकलित करना है http://slimtext.org –

संबंधित मुद्दे