Properti manifes externally_connectable
mendeklarasikan ekstensi, aplikasi, dan halaman web mana yang dapat
hubungkan ke aplikasi Anda melalui runtime.connect
dan runtime.sendMessage
.
Untuk tutorial tentang penerusan pesan, lihat lintas ekstensi dan pesan aplikasi serta mengirim pesan dari halaman web.
Menghubungkan tanpa dapat dihubungkan secara eksternal
Jika externally_connectable
tidak dideklarasikan dalam manifes aplikasi Anda, semua ekstensi dan aplikasi dapat
terhubung, tetapi tidak ada laman
web yang dapat terhubung. Akibatnya, saat mengupdate manifes untuk digunakan
externally_connectable
, jika "ids": ["*"]
tidak ditentukan maka ekstensi dan aplikasi lain akan
kehilangan kemampuan untuk terhubung ke aplikasi Anda. Ini bisa merupakan konsekuensi yang tidak diinginkan, jadi harap diingat.
Contoh manifest.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
},
...
}
Referensi
Kunci manifes external_connectable dapat memiliki properti berikut:
ids
(array string) - opsionalID ekstensi atau aplikasi yang diizinkan untuk terhubung. Jika dibiarkan kosong atau tidak ditentukan, tidak ekstensi atau aplikasi dapat terhubung.
Karakter pengganti
"*"
akan mengizinkan semua ekstensi dan aplikasi untuk terhubung.matches
(array string) - opsionalPola URL untuk halaman yang diizinkan untuk terhubung. Hal ini tidak memengaruhi konten skrip. Jika dibiarkan kosong atau tidak ditentukan, tidak ada halaman web yang dapat terhubung.
Pola tidak boleh menyertakan domain karakter pengganti atau subdomain dari domain level teratas(efektif);
*://google.com/*
danhttps://*.chromium.org/*
valid, sedangkan<all_urls>
,https://*/*
,*://*.com/*
, dan bahkanhttps://*.appspot.com/*
tidak.accepts_tls_channel_id
(boolean) - opsionalJika
true
, pesan yang dikirim melaluiruntime.connect
atauruntime.sendMessage
akan ditetapkanruntime.MessageSender.tlsChannelId
jika metode tersebut memintanya. Jikafalse
,runtime.MessageSender.tlsChannelId
tidak akan pernah ditetapkan dalam situasi apa pun.