आईई और एफएफ कार्यों के बीच हमारे पास एक कोडबेस के साथ सबसे बड़ी समस्या है और इंटरफेस थोड़ा अलग है या अन्यथा छोटी गाड़ी है ताकि आप ब्राउज़रों में एक संवेदी दृष्टिकोण का उपयोग न कर सकें।
आपके पास या तो आपके उपयोग के लिए 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
शुभकामनाएं!
स्रोत
2010-12-28 00:43:12
विकी आईई के लिए बीएचओ कैसे लिखें http://petesearch.com/wiki/। सौभाग्य। –