2008-12-31 10 views
5

मैं एक फ़ायरफ़ॉक्स एक्सटेंशन विकसित करने की कोशिश कर रहा हूं जो अतिरिक्त HTTP शीर्षलेख फ़ील्ड को आउटगोइंग HTTP अनुरोधों में डालता है (एक अपाचे एक्सटेंशन के साथ इंटरफ़ेस करने के लिए जो मैं समवर्ती रूप से विकास कर रहा हूं)।शुरुआती सहायता - यह कोड कहां से संबंधित है?

जबकि मैं विस्तार के व्यक्तिगत घटकों को समझता हूं और वेब पर प्रस्तुत किए गए मूल ट्यूटोरियल को समझता हूं, मुझे एक पूर्ण उड़ा विस्तार विकसित करने में "हैलो वर्ल्ड" ट्यूटोरियल एक्सटेंशन से जाना मुश्किल लगता है।

नमूना कोड जो मैं अपने उद्देश्यों के लिए अनुकूलित करना चाहता हूं Setting HTTP request headers के नीचे प्रस्तुत किया गया है।

मुझे आश्चर्य है, जहां एक्सटेंशन पदानुक्रम में इस कोड को रखा जाना चाहिए और इस तरह के कोड को कैसे बनाया/निर्मित/सक्रिय किया जाता है, क्या एक्सटेंशन प्रारंभ होने पर स्वचालित रूप से चलाया जाएगा?



अग्रिम धन्यवाद।

+0

क्या आपने मौजूदा एक्सटेंशन की खोज करने की कोशिश की है जो आप प्राप्त करने की कोशिश कर रहे हैं? एक शुरुआत हो सकती है ... – mark

उत्तर

2

एक बुनियादी विस्तार के लिए, आप एक्सटेंशन के क्रोम/सामग्री निर्देशिका में अपना कोड डाल देंगे। आप overlay का उपयोग करके इस सामग्री को फ़ायरफ़ॉक्स में हुक करेंगे। जबकि ओवरले आमतौर पर xul सामग्री (बटन, आदि) होते हैं, वे कुछ भी हो सकते हैं। एक स्क्रिप्ट टैग सहित जो आपके जावास्क्रिप्ट कोड को बंद कर देगा।

0

वह कोड एक XPCOM घटक है और components/<some name>.js फ़ाइल में जाता है।

यदि आप इसे खोदना चाहते हैं तो आपको XPCOM घटकों पर पढ़ना चाहिए, लेकिन हाँ, .0sमें .js फ़ाइलें स्टार्टअप पर लोड की जाती हैं। ऐसी फाइलों में पंजीकरण कोड होता है (उस उदाहरण में var myModule = { लाइन से शुरू होता है), जो फ़ायरफ़ॉक्स को बताता है कि फ़ाइल में परिभाषित घटक अनुरोध पर उपलब्ध है या इसे स्वचालित रूप से तुरंत चालू किया जाना चाहिए।

कि उदाहरण में आप घटक देख सकते हैं आवेदन के स्टार्टअप के लिए सूचित किया पंजीकृत हो रही:

catMgr.addCategoryEntry("app-startup", this.myName, this.myProgID, true, true); 

और जब एप्लिकेशन-स्टार्टअप अधिसूचना से निपटने को http-ऑन-संशोधित-अनुरोध नोटिफिकेशन के लिए खुद को पंजीकृत करता है :

os.addObserver(this, "http-on-modify-request", false); 
संबंधित मुद्दे