במאפיין "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 אף פעם לא יוגדר בשום מקרה.
הפעולה הזו לא משפיעה על סקריפטים של תוכן.