आपका फ़ायरफ़ॉक्स एक्सटेंशन आपके HTML पृष्ठ पर एक अलग जावास्क्रिप्ट संदर्भ में चलता है, इसलिए विस्तार को सीधे आपके HTML पृष्ठ में जावास्क्रिप्ट से नहीं कहा जा सकता है।
हालांकि, आप एचटीएमएल से एक्सेस की अनुमति देने के लिए एक्सटेंशन डिज़ाइन कर सकते हैं। एचटीएमएल जावास्क्रिप्ट को आम तौर पर घटक ऑब्जेक्ट तक पहुंचने की अनुमति नहीं दी जाती है, इसलिए आपको एचटीएमएल कोड को अपने एक्सटेंशन में ऑब्जेक्ट पर जाने की अनुमति देने की आवश्यकता है। ऐसा करने के लिए, अपने एक्सटेंशन में एक XPCOM घटक बनाएं, और ऑब्जेक्ट को nsicategoryManager ऑब्जेक्ट के माध्यम से "जावास्क्रिप्ट वैश्विक संपत्ति" श्रेणी में सेट करें। प्रविष्टि नाम अनधिकृत जावास्क्रिप्ट से उपयोग की जाने वाली स्ट्रिंग है, मान आपके XPCOM क्लास के लिए अनुबंध आईडी है।
हालांकि, आपको अपने ऑब्जेक्ट में अनधिकृत जावास्क्रिप्ट पहुंच की अनुमति देने की भी आवश्यकता है, या स्क्रिप्ट सुरक्षा प्रबंधक पहुंच को अवरुद्ध कर देगा। इसे अनुमति देने के लिए, nsISecurityCheckedComponent को कार्यान्वित करें - canCreateWrapper (nsIIDPtr iid में) प्रदान कर सकते हैं, canCallMethod (nsIIDPtr iid में, wstring methodName में), canGetProperty (nsIIDPtr iid में, wstring propertyName में) और canSetProperty (nsIIDPtr iid में, wstring propertyName में) allAccess को वापस करने के लिए अनुमत गुणों के लिए, और अन्यथा पहुंच नहीं है।
सावधान रहें कि आप उपयोगकर्ता इनपुट के साथ क्या करते हैं, और आप किस तक पहुंच की अनुमति देते हैं - यह करने में ब्राउज़र में गलती से सुरक्षा छेद बनाना बहुत आसान है।
मैं जब मैं विस्तार के अंदर एक xml फ़ाइल के लिए लिखने की कोशिश यह त्रुटि आई अनुमति के लिए इनकार कर दिया संपत्ति XPCComponents.classes किसी भी विचार है कि यह कैसे हल करने के लिए प्राप्त करने के लिए? –
क्या आप