2010-11-24 9 views
6

मेरे पास एक फ़ायरफ़ॉक्स एक्सटेंशन है जिसे मैं आईई पर पोर्ट करना चाहता हूं, मैं इसे फिर से कोड नहीं करना चाहता हूं।एक बीएचओ (ब्राउज़र सहायक ऑब्जेक्ट्स, उर्फ ​​आईई एक्सटेंशन) के लिए एक फ़ायरफ़ॉक्स एक्सटेंशन पोर्ट करें

क्या कोई ऐसी चीज है जो मेरी मदद कर सकती है?

  • एक IE BHO कि लोगों एफएफ विस्तार कॉल करने के लिए मैप किया गया आईई fonctions के साथ एक Firefox विस्तार प्रदान कर सकते हैं, यह बहुत अलग तरीके से आ सकता है।
  • एक जेनरेटर जो एफएफ एक्सटेंशन लेता है और बीएचओ उत्पन्न करता है (सी, सी #, आदि में जो कुछ भी चाहता है)।

संपादित करें: ऐसी कोई बात नहीं हो सकती है। मैं सवाल खुला रखूंगा ...

+0

विकी आईई के लिए बीएचओ कैसे लिखें http://petesearch.com/wiki/। सौभाग्य। –

उत्तर

1

कोई आसान तरीका नहीं है। मॉडल बहुत अलग हैं। अपने कोर कोड को उस हद तक सार बनाएं जो आप कर सकते हैं, और प्रत्येक ब्राउज़र के लिए एक बार गोंद लिखें।

0

प्लगइन js इंजेक्शन लगाने के आधार पर (और methodes आप एफएफ में उपयोग करने के लिए बाध्य यानी) है एक बहुत अधिक पोर्टेबल

वहाँ साइटों/सॉफ्टवेयर है कि एक कोड दोनों अर्थात को संकलित करता है कि और एफएफ

उपयोग कर सकते हैं
1

आईई और एफएफ कार्यों के बीच हमारे पास एक कोडबेस के साथ सबसे बड़ी समस्या है और इंटरफेस थोड़ा अलग है या अन्यथा छोटी गाड़ी है ताकि आप ब्राउज़रों में एक संवेदी दृष्टिकोण का उपयोग न कर सकें।

आपके पास या तो आपके उपयोग के लिए 2 इंटरफेस संगत बनाने के लिए एक भारी सहायक लाइब्रेरी होगी, या कुछ कामकाज लिखना होगा।

जैसा कि हमारे पास आईई बीएचओ था, हमारे पास आईई सामान को एफएफ में मैप करने के लिए निम्नलिखित की तरह चीजें हैं, लेकिन आप जो भी इस्तेमाल करते हैं उसके आधार पर आपको लगता है कि आपको सबसे कम से कम विस्तृत तरीके से मैपिंग की आवश्यकता है। यहां आपके लिए कुछ त्वरित विचार दिए गए हैं

// Normally if you where just doing IE or FF you would use one technique for getting a different interface 
// as we are mixing the code, we have macros which allows you to use a combination of code 
// eg. for IE CComQIPtr<IHTMLDocument2> doc(disp); 
// eg. for FF nsCOMPtr<IHTMLDocument2> doc(do_QueryInterface(disp)); 
// combined in code will be CComQIPtr<IHTMLDocument2> doc(do_QueryInterface(disp)); 
// FF strips off the QI, IE strips out the do_QueryInterface. 
#ifdef MOZILLA 
#define CComPtr      nsCOMPtr 
#define CComQIPtr     nsCOMPtr 

#define IWebBrowser2    nsIDOMWindow 
#define IHTMLWindow2    nsIBrowserDOMWindow 
#define IHTMLDocument2    nsIDOMHTMLDocument 

#define get_Document   GetDocument 
#define get_type     GetType 
#else 
// Pointer handling for nsCOMPtr vs CComPtr/CComQIPtr 
#define getter_AddRefs(x)  (&(x).p)   
#define do_QueryInterface(x)  (x) 
#endif 

शुभकामनाएं!

+0

पद के लिए धन्यवाद =) मुझे लगता है कि मुझे यह करना होगा। श्रीमान मैं डीबग चरण की प्रतीक्षा कर रहा हूं .... – BenoitParis

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