externally_connectable

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 ke true dalam connectInfo atau opsi runtime.connect.sendMessage. Jika ditetapkan ke false, runtime.MessageSender.tlsChannelId tidak akan pernah ditetapkan dalam keadaan apa pun.

Hal ini tidak memengaruhi skrip konten.