खोज…


टिप्पणियों

यदि आप 48 से पहले एक फ़ायरफ़ॉक्स संस्करण का उपयोग कर रहे हैं, तो आपको manifest.json में एक अतिरिक्त कुंजी की आवश्यकता होगी। आवेदन कहा जाता है:

"applications": {
  "gecko": {
    "id": "[email protected]",
    "strict_min_version": "42.0",
    "strict_max_version": "50.*",
    "update_url": "https://example.com/updates.json"
  }
}

अनुप्रयोग


ध्यान दें:

एक्सटेंशन साइनिंग :

फ़ायरफ़ॉक्स 48 की रिलीज़ के साथ, एक्सटेंशन साइनिंग को रिलीज़ में अक्षम नहीं किया जा सकता है और बीटा चैनल एक वरीयता का उपयोग करके बनाता है। जैसा कि विस्तार पर हस्ताक्षर किए जाने की घोषणा की गई थी, हम विशिष्ट बिल्ड प्रकाशित कर रहे हैं जो इस प्राथमिकता का समर्थन करते हैं ताकि डेवलपर्स कोड के खिलाफ परीक्षण करना जारी रख सकें कि बीटा और रिलीज़ बिल्ड से उत्पन्न होते हैं।

WebExtensions स्थिति:

WebExtensions वर्तमान में एक प्रयोगात्मक अल्फा राज्य में हैं। फ़ायरफ़ॉक्स 46 से, आप किसी भी अन्य ऐड-ऑन की तरह फ़ायरफ़ॉक्स उपयोगकर्ताओं के लिए वेबटेक्शन्स प्रकाशित कर सकते हैं। हम फ़ायरफ़ॉक्स 48 में पहली स्थिर रिलीज़ के लिए लक्ष्य कर रहे हैं।

UPD : फ़ायरफ़ॉक्स 48 02.08.2016 को जारी किया गया।


लिंक:

एपीआई समर्थन की स्थिति - एपीआई की सूची और उनकी स्थिति।

क्रोम असंगतताएं

WebExtensions - जावास्क्रिप्ट एपीआई, मैनिफ़ेस्ट की कुंजी। Json , ट्यूटोरियल, आदि।

WebExtensions के माध्यम से पोर्टिंग

फ़ायरफ़ॉक्स एक्सटेंशन को / से पोर्ट करने के बारे में बात करने से पहले, किसी को पता होना चाहिए कि WebExtensions क्या है।

WebExtensions - एक प्लेटफ़ॉर्म है जो फ़ायरफ़ॉक्स एक्सटेंशन बनाने के लिए एक एपीआई का प्रतिनिधित्व करता है।

यह क्रोमियम के रूप में विस्तार की समान वास्तुकला का उपयोग करता है, परिणामस्वरूप, यह एपीआई Google क्रोम और ओपेरा (ओपेरा जो क्रोमियम पर आधारित है) में एपीआई के साथ कई मायनों में संगत है। कई मामलों में, इन ब्राउज़रों के लिए विकसित किए गए एक्सटेंशन फ़ायरफ़ॉक्स में कुछ परिवर्तनों के साथ या उनके बिना भी काम करेंगे।

MDN नए एक्सटेंशन के लिए WebExtension का उपयोग करने की सिफारिश करता है:

भविष्य में, WebExtensions फ़ायरफ़ॉक्स ऐड-ऑन को विकसित करने के लिए अनुशंसित तरीका होगा, और अन्य सिस्टम को हटा दिया जाएगा।

पूर्वगामी को देखते हुए, यदि आप फ़ायरफ़ॉक्स में एक्सटेंशन पोर्ट करना चाहते हैं, तो आपको यह जानना होगा कि एक्सटेंशन कैसे लिखा गया था।

Firefox के लिए एक्सटेंशन के आधार पर किया जा सकता है WebExtension , Add-on SDK या XUL


वेबटेक्स्टेंशन पर आधारित संगत एक्सटेंशन

WebExtension का उपयोग करते WebExtension , किसी को असंगतताओं की सूची को देखना होगा, क्योंकि कुछ कार्यों को पूरी तरह या आंशिक रूप से समर्थित किया जाता है, जो कि दूसरे शब्दों में है, किसी को किसी के manifest.json की जाँच करनी चाहिए।

यह समान नामस्थान का उपयोग करने में भी सक्षम है:

इस समय, सभी एपीआई क्रोम के माध्यम से सुलभ हैं। * नाम स्थान। जब हम अपने स्वयं के एपीआई को जोड़ना शुरू करते हैं, तो हम उन्हें ब्राउज़र में जोड़ने की उम्मीद करते हैं। * नाम स्थान। डेवलपर्स यह निर्धारित करने के लिए सुविधा का उपयोग करने में सक्षम होंगे कि ब्राउज़र में एपीआई उपलब्ध है या नहीं। *

एक साधारण एक्सटेंशन जो फ़ायरफ़ॉक्स और Google क्रोम में काम कर सकता है

manifest.json :

{
  "manifest_version": 2,
  
  "name": "StackMirror",
  
  "version": "1.0",
  
  "description": "Mirror reflection of StackOverflow sites",
  
  "icons": {
    "48": "icon/myIcon-48.png"
  },
  
  "page_action": {
    "default_icon": "icon/myIcon-48.png"
  },
  
  "background": {
    "scripts"   : ["js/background/script.js"],
    "persistent": false
  },
  
  "permissions": ["tabs", "*://*.stackoverflow.com/*"]
}

background स्क्रिप्ट:

function startScript(tabId, changeInfo, tab) {

    if (tab.url.indexOf("stackoverflow.com") > -1) {

        chrome.tabs.executeScript(tabId, 
            
            {code: 'document.body.style.transform = "scaleX(-1)";'}, function () {

            if (!chrome.runtime.lastError) {

                chrome.pageAction.show(tabId);
            }
        });
    }
}

chrome.tabs.onUpdated.addListener(startScript);

प्रोजेक्ट प्रोजेक्ट को मानक zip फ़ाइल के रूप में, लेकिन .xpi एक्सटेंशन के साथ।

पैक परियोजना

फिर, आपको फ़ायरफ़ॉक्स में एक्सटेंशन लोड करना होगा।

इसके about:addons खोलें about:addons मेनू> एड-ऑन के माध्यम से एडऑन पृष्ठ, सुलभ।

सभी ऐड-ऑन बटन के टूल पर क्लिक करें।

एक्सटेंशन स्थापित करें

जब एक्सटेंशन पृष्ठ लोड किया जाता है, तो about:addons इस तरह दिखाई देगा:

स्थापित करने का परिणाम

Google Chrome में एक्सटेंशन लोड करने की दिशा अन्य विषय में है - Chrome एक्सटेंशन के साथ आरंभ करना

एक्सटेंशन ऑपरेशन का परिणाम दोनों ब्राउज़रों ( फ़ायरफ़ॉक्स / गूगल क्रोम ) में समान होगा:

काम का परिणाम


यदि वर्तमान ऐड-ऑन एसडीके या एक्सयूएल पर आधारित है

जब पोर्ट किए जा रहे विस्तार Add-on SDK पर आधारित होते हैं, तो Add-on SDK => WebExtensions लिए तुलना तालिका के माध्यम से देखना WebExtensions , क्योंकि इन तकनीकों में समान विशेषताएं हैं, लेकिन कार्यान्वयन में भिन्न हैं। तालिका का प्रत्येक खंड WebExtension लिए Add-on SDK के बराबर का वर्णन करता है।

एड-ऑन एसडीके के साथ तुलना

एक समान दृष्टिकोण और एक्सयूएल एक्सटेंशन के लिए।

XUL / XPCOM एक्सटेंशन के साथ तुलना



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow