externally_connectable

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

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

बाहरी_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"
वेब पेजों के लिए ऐसे यूआरएल पैटर्न जिन्हें कनेक्ट किया जा सकता है. अगर इसे खाली छोड़ दिया जाता है या इसे तय नहीं किया जाता है, तो किसी भी वेब पेज को कनेक्ट नहीं किया जा सकता. पैटर्न में, वाइल्डकार्ड डोमेन और (असरदार) टॉप लेवल डोमेन के सबडोमेन शामिल नहीं किए जा सकते. उदाहरण के लिए:
✅ मान्य यूआरएल ❌ अमान्य यूआरएल
*://example.com/ *://example.com/one/
http://*.example.org/* <all_urls>
https://example.com/* http://*/*
"accepts_tls_channel_id"
एक्सटेंशन को चालू करता है, ताकि उससे कनेक्ट किए गए वेब पेज का TLS चैनल आईडी इस्तेमाल किया जा सके. वेब पेज को रनटाइम.connect के connectInfo या रनटाइम.sendMessage के विकल्प में, includeTlsChannelId को true पर सेट करके, एक्सटेंशन में TLS चैनल आईडी भेजने का विकल्प भी चुनना होगा. अगर नीति को false पर सेट किया जाता है, तो runtime.MessageSender.tlsChannelId को कभी भी सेट नहीं किया जाएगा.

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