Properti manifes "externally_connectable"
mendeklarasikan ekstensi dan halaman web mana yang dapat terhubung ke ekstensi Anda menggunakan runtime.connect()
dan runtime.sendMessage()
.
Untuk tutorial tentang penerusan pesan, lihat pesan lintas-ekstensi dan mengirim pesan dari halaman web.
Terhubung tanpa secara eksternal_connectable
Jika kunci externally_connectable
tidak dideklarasikan dalam manifes ekstensi Anda, semua ekstensi dapat terhubung, tetapi tidak ada halaman web yang dapat terhubung. Akibatnya, saat mengupdate manifes untuk menggunakan externally_connectable
, jika "ids": ["*"]
tidak ditentukan, ekstensi lain akan kehilangan kemampuan untuk terhubung ke ekstensi Anda. Hal ini mungkin merupakan konsekuensi yang tidak diinginkan, jadi perhatikan
hal ini.
Manifes
{
"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
},
...
}
Referensi
Kunci manifes "externally_connectable"
menyertakan properti opsional berikut:
"ids"
- ID ekstensi yang diizinkan untuk terhubung. Jika dibiarkan kosong atau tidak ditentukan, tidak ada ekstensi atau aplikasi yang dapat terhubung. Karakter pengganti
"*"
akan mengizinkan semua ekstensi dan aplikasi untuk terhubung. "matches"
- Pola URL untuk halaman web yang diizinkan untuk terhubung. Jika dibiarkan kosong atau tidak ditentukan, tidak ada halaman web yang dapat terhubung. Pola tidak dapat menyertakan domain karakter pengganti atau subdomain dari domain level teratas(efektif), misalnya:
✅ URL yang valid | ❌ URL tidak valid |
---|---|
*://example.com/ |
*://example.com/one/ |
http://*.example.org/* |
<all_urls> |
https://example.com/* |
http://*/* |
"accepts_tls_channel_id"
- Mengaktifkan ekstensi untuk menggunakan ID saluran TLS dari halaman web yang terhubung ke ekstensi tersebut. Halaman web juga harus memilih untuk mengirimkan ID saluran TLS ke ekstensi dengan menetapkan
includeTlsChannelId
ketrue
dalam connectInfo atau opsi runtime.connect.sendMessage. Jika ditetapkan kefalse
, runtime.MessageSender.tlsChannelId tidak akan pernah ditetapkan dalam keadaan apa pun.
Hal ini tidak memengaruhi skrip konten.