externally_connectable

במאפיין "externally_connectable" manifest מצהירים אילו תוספים ודפי אינטרנט יכולים להתחבר לתוסף באמצעות 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"
תבניות ההתאמה של דפי אינטרנט שמותר להתחבר אליהם. אם לא מציינים כתובות URL, אף דף אינטרנט לא יכול להתחבר.
"accepts_tls_channel_id"
מאפשרת לתוסף להשתמש במזהה ערוץ TLS של דף האינטרנט שמתחבר אליו. כדי לשלוח את מזהה ערוץ ה-TLS לתוסף, דף האינטרנט צריך להגדיר את includeTlsChannelId ל-true ב-connectInfo של runtime.connect או ב-options של runtime.sendMessage. אם הערך מוגדר כ-false,‏ runtime.MessageSender.tlsChannelId אף פעם לא יוגדר בשום מקרה.

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