2012-02-09 11 views
7

बदल रहा है मैं Add-on SDK का उपयोग कर फ़ायरफ़ॉक्स ऐड-ऑन विकसित करने पर काम कर रहा हूं। मैंने 32x32 आइकन और 64x64 आइकन के लिए प्रविष्टियों को शामिल करने के लिए अपनी package.json फ़ाइल को बदल दिया।फ़ायरफ़ॉक्स एडन इंस्टॉल आइकन

{ 
    ... 
    "icon": "icons/icon-32.png", 
    "icon64": "icons/icon-64.png", 
    ... 
} 

इसके अलावा, मैं आइकन-32.png और आइकन-64.png निर्देशिका icons में अपने पैकेज निर्देशिका के अंदर पैकेज निर्देशिका के अंदर cfx xpi चलाने से पहले रखा।

आइकन Tools > Add-ons से एडन प्रबंधक में सही ढंग से प्रदर्शित होते हैं, लेकिन स्थापना संवाद अभी भी एक पहेली टुकड़ा आइकन का उपयोग करता है।

मैं फ़ायरफ़ॉक्स ऐड-ऑन स्वयं-होस्ट कर रहा हूं।

पहले, मैंने सोचा कि ऐसा इसलिए हो सकता है क्योंकि मैं अभी तक xpi फ़ाइल पर हस्ताक्षर नहीं कर रहा था, लेकिन मैंने देखा कि कई अन्य ऐड-ऑन हैं जो हस्ताक्षरित नहीं हैं लेकिन अभी भी स्थापना संवाद में सही आइकन है।

मैंने यह भी सोचा कि ऐसा इसलिए हो सकता है क्योंकि आइकन xpi फ़ाइल के भीतर सही जगह पर स्थित नहीं था या शायद install.rdf एड-ऑन एसडीके द्वारा सही ढंग से जेनरेट नहीं किया गया था, लेकिन मैंने xpi को अनजिप किया और पाया कि सीएफएक्स ने रूट निर्देशिका में आइकनों को रखा था और उन्हें नाम बदलकर डिफ़ॉल्ट नाम (icon.png और icon64.png) कर दिया था और install.rdf में फ़ाइल नाम छोड़े थे (उन्हें डिफ़ॉल्ट आइकन पर इंगित करना)।

मैं स्थापना आइकन कैसे बदल सकता हूं?

क्या फ़ायरफ़ॉक्स के साथ होस्ट करते समय स्थापना आइकन केवल बदला जा सकता है?

उत्तर

14

स्थापना संवाद पैकेज से आइकन नहीं लेता है, यह वेब पेज द्वारा प्रदान की गई जानकारी का उपयोग करता है। अपने वेब पेज use InstallTrigger की जरूरत है, स्थापना शुरू करने के लिए इन पंक्तियों के साथ:

function install(link) 
{ 
    params = {}; 
    params[link.getAttribute("addonName")] = { 
    URL: link.href, 
    IconURL: link.getAttribute("iconURL") 
    }; 
    InstallTrigger.install(params); 
} 

और अपने लिंक इस तरह दिखेगा:

<a href="foo.xpi" addonName="Foo" iconURL="foo.png" 
    onclick="install(this); return false;"> 
    Install 
</a> 

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

+2

@ user198989: गायब उद्धरण चिह्नों के अलावा जो मैंने अभी तय किया है - हाँ, मुझे यकीन है कि यह काम करता है (बस कोशिश की गई)। –

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