externally_connectable

"externally_connectable" मेनिफ़ेस्ट प्रॉपर्टी यह तय करती है कि कौनसे एक्सटेंशन और वेब पेज, runtime.connect() और runtime.sendMessage() का इस्तेमाल करके आपके एक्सटेंशन से कनेक्ट हो सकते हैं.

मैसेज पास करने के ट्यूटोरियल के लिए, क्रॉस-एक्सटेंशन मैसेजिंग और वेब पेजों से मैसेज भेजना देखें.

externally_connectable एट्रिब्यूट के बिना कनेक्ट करना

अगर आपके एक्सटेंशन के मेनिफ़ेस्ट में externally_connectable कुंजी को नहीं बताया गया है, तो सभी एक्सटेंशन कनेक्ट हो सकते हैं. हालांकि, कोई भी वेब पेज कनेक्ट नहीं हो सकता. इसलिए, externally_connectable का इस्तेमाल करने के लिए मेनिफ़ेस्ट अपडेट करते समय, अगर "ids": ["*"] के बारे में नहीं बताया जाता है, तो अन्य एक्सटेंशन आपके एक्सटेंशन से कनेक्ट नहीं हो पाएंगे. ऐसा अनजाने में हो सकता है. इसलिए, इस बात का ध्यान रखें.

मेनिफ़ेस्ट

{
  "name": "My externally connectable extension",
  "externally_connectable": {
    "ids": [
      "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
      "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
      ...
    ],
    // If this field is not specified, no web pages can connect.
    "matches": [
      "https://*.google.com/*",
      "*://*.chromium.org/*",
      ...
    ],
    "accepts_tls_channel_id": false
  },
  ...
}

रेफ़रंस

"externally_connectable" मेनिफ़ेस्ट कुंजी में, ये ज़रूरी नहीं प्रॉपर्टी शामिल होती हैं:

"ids"
उन एक्सटेंशन के आईडी जिन्हें कनेक्ट करने की अनुमति है. अगर इसे खाली छोड़ दिया जाता है या इसके बारे में जानकारी नहीं दी जाती है, तो कोई भी एक्सटेंशन या ऐप्लिकेशन कनेक्ट नहीं हो पाएगा. वाइल्डकार्ड "*" से सभी एक्सटेंशन और ऐप्लिकेशन कनेक्ट हो पाएंगे.
"matches"
वेब पेजों के लिए मैच पैटर्न, जिन्हें कनेक्ट करने की अनुमति है. अगर इसे खाली छोड़ दिया जाता है या इसकी जानकारी नहीं दी जाती है, तो कोई भी वेब पेज कनेक्ट नहीं हो सकता.
"accepts_tls_channel_id"
इस एक्सटेंशन को, इससे कनेक्ट होने वाले वेब पेज के टीएलएस चैनल आईडी का इस्तेमाल करने की अनुमति देता है. वेब पेज को एक्सटेंशन को TLS चैनल आईडी भेजने का विकल्प भी चुनना होगा. इसके लिए, runtime.connect के connectInfo या runtime.sendMessage के options में includeTlsChannelId को true पर सेट करना होगा. अगर इसे false पर सेट किया जाता है, तो किसी भी स्थिति में runtime.MessageSender.tlsChannelId सेट नहीं किया जाएगा.

इससे कॉन्टेंट स्क्रिप्ट पर कोई असर नहीं पड़ता.