2011-08-11 12 views
5

मैंने एक एनपी एपीआई प्लगइन विकसित किया है और इसके साथ खेल रहा था। मैंने दो चीजों के नीचेक्या मैं ब्राउजर को पुनरारंभ किए बिना प्लगइन इंस्टॉल कर सकता हूं और मशीन

  1. जब मैं पहली बार प्लगइन स्थापित करता हूं तो मुझे प्लगइन लोड करने के लिए अपने मैक ओएस को पुनरारंभ करने की आवश्यकता होती है।
  2. जब भी मैं प्लगइन अपडेट करता हूं मुझे ब्राउज़र को पुनरारंभ करने की आवश्यकता होती है।

मैं ब्राउज़र और मशीन को पुनरारंभ किए बिना प्लगइन स्थापित करना चाहता हूं। कृपया सलाह दें

उत्तर

11

जब तक आप इसे एक प्लगइन के रूप में स्थापित करते हैं, न कि एक्सटेंशन के रूप में (जैसे फ़ायरफ़ॉक्स पर XPI) आपको ब्राउज़र को पुनरारंभ करने की आवश्यकता नहीं है। मैक ओएस एक्स पर इसका मतलब है कि .plugin फ़ाइल को या तो लाइब्रेरी/इंटरनेट प्लगइन्स/या ~/लाइब्रेरी/इंटरनेट प्लगइन्स/में डालना है। आप इस तरह प्लग इन की सूची पुन: लोड करने के लिए ब्राउज़र निर्देश दे सकते हैं:

navigator.plugins.refresh(false); 

झूठी यह बताता है यह करने के लिए पेज को ताज़ा करने के लिए नहीं।

अद्यतन करना थोड़ा अलग समस्या है; ब्राउज़र यह नहीं देख पाएंगे कि प्लगइन अपडेट ब्राउज़र को पुनरारंभ किए बिना हुआ है जब तक कि फ़ाइल नाम मूल से अलग न हो। मेरा सामान्य समाधान प्लगइन के संस्करण संख्या को .plugin/बंडल फ़ाइल नाम में शामिल करना है, जैसे कि "FBTestPlugin_1.0.0.plugin", इसलिए जब यह अद्यतन होता है तो इसे अलग-अलग नाम दिया जाता है।

विंडोज़ पर विभिन्न एनपीएपीआई ब्राउज़र में प्लगइन का पता लगाने (और उन ब्राउज़रों के विभिन्न संस्करण) के साथ अलग-अलग समस्याएं हैं, लेकिन मुझे यह काम करने के लिए सबसे अच्छा तरीका यह है कि प्रत्येक प्लगइन को संस्करण-विशिष्ट उपनिर्देशिका में एक संस्करण के साथ स्थापित करना है विशिष्ट फ़ाइल नाम; यह ओवरकिल की तरह लगता है, लेकिन जिन मामलों को मैं संबोधित कर रहा था वे एक प्लगइन के साथ थे जिसमें 50 मिलियन इंस्टॉल थे और सभी समर्थित ब्राउज़र संस्करणों के लिए यह आवश्यक था। मैं रजिस्ट्री इंस्टॉल विधि (HKCU/Software/MozillaPlugins) का भी उपयोग कर रहा था।

आशा है कि मदद करता है

+0

धन्यवाद टैक्सिलियन, आप एनपीएपीआई प्लगइन्स के गुरु हैं :) .. मेरी चिंता केवल मैक ओएस के लिए है क्योंकि मैं केवल मैक को लक्षित कर रहा हूं। अपनी प्रतिक्रिया की सराहना करें – batwadi

+0

हे। नहीं, मैं सिर्फ सबसे मुखर हूं; ऐसे कई लोग हैं जो इस सामान को मुझसे कहीं ज्यादा बेहतर जानते हैं, लेकिन दुर्भाग्यवश उनमें से अधिकांश स्वयं को बनाए रखते हैं। मैं खुशी से मदद कर सकता है। – taxilian

+0

हाई टैक्सिलियन, जावास्क्रिप्ट से ऊपर देने के बाद भी मुझे जावास्क्रिप्ट से प्लगइन पर किसी भी विधि को कॉल करने के लिए एचटीएमएल पेज को दो बार रीफ्रेश करने की आवश्यकता क्यों है। अगर आपके पास कोई विचार है तो कृपया सलाह दें। – batwadi

0

के बाद आप खिड़कियों पर एक प्लगइन स्थापित है, तो आप इस तरह बुलाना चाहिए:

navigator.plugins.refresh(true); 

प्लगइन युक्त वर्तमान पृष्ठ को फिर से लोड करने के लिए। कृपया http://www.devguru.com/technologies/javascript/11232

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

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