בנכס המניפסט externally_connectable
מצוין אילו תוספים, אפליקציות ודפי אינטרנט יכולים
מתחברים לאפליקציה דרך runtime.connect
ו-runtime.sendMessage
.
למדריך על העברת הודעות, ראו העברת הודעות בין תוספים והעברת הודעות באפליקציות ושליחת הודעות מדפי אינטרנט.
מתחבר ללא external_connectable
אם לא הוצהרה על externally_connectable
במניפסט של האפליקציה, כל התוספים והאפליקציות יכולים
אבל אף דף אינטרנט לא יכול להתחבר. כתוצאה מכך, כשמעדכנים את המניפסט לשימוש
externally_connectable
, אם לא מציינים את "ids": ["*"]
אז תוספים ואפליקציות אחרים
לא תהיה יותר אפשרות להתחבר לאפליקציה. התוצאה יכולה להיות לא מכוונת, ולכן חשוב לזכור את זה.
קובץ המניפסט.json לדוגמה
{
"name": "My externally connectable app",
"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
(מערך מחרוזת) - אופציונליתבניות ה-URL של דפי אינטרנט שמורשות להתחבר. הפעולה הזו לא משפיעה על התוכן סקריפטים. אם השדה יישאר ריק או לא צוין, לא ניתן יהיה להתחבר לדפי אינטרנט.
התבניות לא יכולות לכלול דומיינים עם תווים כלליים לחיפוש או תת-דומיינים של דומיינים(אפקטיביים) ברמה העליונה;
*://google.com/*
ו-https://*.chromium.org/*
תקפים, אבל<all_urls>
,https://*/*
,*://*.com/*
ואפילוhttps://*.appspot.com/*
לא.accepts_tls_channel_id
(בוליאני) - אופציונליאם ההגדרה
true
, הודעות שיישלחו דרךruntime.connect
אוruntime.sendMessage
יוגדרוruntime.MessageSender.tlsChannelId
אם השיטות האלה מבקשות. אםfalse
, השדהruntime.MessageSender.tlsChannelId
לא יוגדר אף פעם בשום נסיבות.