externally_connectable
मेनिफ़ेस्ट प्रॉपर्टी से पता चलता है कि कौनसे एक्सटेंशन, ऐप्लिकेशन, और वेब पेज
runtime.connect और runtime.sendMessage के ज़रिए अपने एक्सटेंशन से कनेक्ट करना होगा.
मैसेज पास होने की जानकारी देने वाले ट्यूटोरियल के लिए, क्रॉस-एक्सटेंशन और ऐप्लिकेशन मैसेज सेवा और मैसेज भेजना देखें मिलते हैं.
External_connectable के बिना कनेक्ट किया जा रहा है
अगर आपके एक्सटेंशन के मेनिफ़ेस्ट में externally_connectable
का एलान नहीं किया गया है, तो सभी एक्सटेंशन और ऐप्लिकेशन
कनेक्ट कर सकता है, लेकिन कोई भी वेबपेज कनेक्ट नहीं हो सकता. इस वजह से, मेनिफ़ेस्ट अपडेट करते समय
externally_connectable
, अगर "ids": ["*"]
नहीं बताया गया है, तो अन्य एक्सटेंशन और ऐप्लिकेशन
आपके एक्सटेंशन से कनेक्ट करने की क्षमता खो जाती है. ऐसा अनजाने में भी हो सकता है. इसलिए, इसे
दिमाग.
Manifest.json का सैंपल
{
"name": "My externally connectable extension",
"externally_connectable": {
// Extension and app IDs. If this field is not specified, no
// extensions or apps can connect.
"ids": [
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
...
// Alternatively, to match all extensions and apps, specify only
// "*".
"*"
],
// Match patterns for web pages. Does not affect content scripts.
// If this field is not specified, no webpages can connect.
"matches": [
"https://*.google.com/*",
"*://*.chromium.org/*",
...
],
// Indicates that the extension would like to make use of the TLS
// channel ID of the web page connecting to it. The web page must
// also opt to send the TLS channel ID to the extension via setting
// includeTlsChannelId to true in runtime.connect's connectInfo
// or runtime.sendMessage's options.
"accepts_tls_channel_id": false
},
...
}
रेफ़रंस
External_connectable मेनिफ़ेस्ट कुंजी में ये प्रॉपर्टी हो सकती हैं:
ids
(स्ट्रिंग की कैटगरी) - ज़रूरी नहींउन एक्सटेंशन या ऐप्लिकेशन के आईडी जिन्हें कनेक्ट किया जा सकता है. अगर इसे खाली छोड़ दिया जाता है या बताया नहीं जाता, तो नहीं एक्सटेंशन या ऐप्लिकेशन कनेक्ट हो सकते हैं.
वाइल्डकार्ड
"*"
से सभी एक्सटेंशन और ऐप्लिकेशन कनेक्ट हो जाएंगे.matches
(स्ट्रिंग की कैटगरी) - ज़रूरी नहींउन वेब पेजों के यूआरएल पैटर्न जिन्हें कनेक्ट किया जा सकता है. इससे कॉन्टेंट पर कोई असर नहीं पड़ेगा स्क्रिप्ट. अगर इसे खाली छोड़ दिया जाता है या बताया नहीं जाता है, तो कोई भी वेब पेज कनेक्ट नहीं किया जा सकता.
पैटर्न में वाइल्डकार्ड डोमेन या (असरदार) टॉप लेवल डोमेन के सबडोमेन शामिल नहीं हो सकते;
*://google.com/*
औरhttp://*.chromium.org/*
मान्य हैं, जबकि<all_urls>
,http://*/*
,*://*.com/*
और यहां तक किhttp://*.appspot.com/*
भी नहीं.accepts_tls_channel_id
(बूलियन) - ज़रूरी नहींअगर
true
, तो runtime.connect या runtime.sendMessage से भेजे गए मैसेज सेट होंगे runtime.MessageSender.tlsChannelId को तब ज़रूर सबमिट करें, जब ये तरीके इसके लिए अनुरोध करते हों. अगरfalse
, किसी भी स्थिति में, runtime.MessageSender.tlsChannelId को कभी भी सेट नहीं किया जाएगा.