externally_connectable

מאפיין המניפסט "externally_connectable" מצהיר אילו תוספים ודפי אינטרנט יכולים לקשר לתוסף באמצעות runtime.connect() ו-runtime.sendMessage().

לקבלת הדרכה על העברת הודעות, ראו העברת הודעות בין תוספים ושליחת הודעות מדפי אינטרנט.

התחברות ללא חיבור חיצוני

אם המפתח 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"
תבניות ה-URL של דפי אינטרנט שמורשים להתחבר. אם משאירים את השדה ריק או לא מוגדר, אי אפשר לחבר דפי אינטרנט. התבניות לא יכולות לכלול דומיינים עם תווים כלליים לחיפוש או תת-דומיינים של דומיינים ברמה עליונה(אפקטיבי), לדוגמה:
✅ כתובות URL חוקיות ❌ כתובת ה-URL לא תקינה
*://example.com/ *://example.com/one/
http://*.example.org/* <all_urls>
https://example.com/* http://*/*
"accepts_tls_channel_id"
מאפשר לתוסף להשתמש במזהה ערוץ ה-TLS של דף האינטרנט שמתחבר אליו. בנוסף, דף האינטרנט חייב להביע הסכמה לשליחת מזהה הערוץ של TLS לתוסף על ידי הגדרת הערך includeTlsChannelId לערך true ב-connectInfo של runtime.connect או באפשרויות של runtime.sendMessage. אם המדיניות מוגדרת לערך false, הפרמטר runtime.MessageSender.tlsChannelId אף פעם לא יוגדר בשום מקרה.

אין לכך השפעה על סקריפטים של תוכן.