externally_connectable

Thuộc tính tệp kê khai "externally_connectable" khai báo những tiện ích và trang web có thể kết nối với tiện ích của bạn bằng cách sử dụng runtime.connect()runtime.sendMessage().

Để xem hướng dẫn về cách chuyển thư, hãy xem phần gửi thư trên nhiều tiện íchgửi thư từ các trang web.

Kết nối mà không cần bên ngoài_connectable

Nếu khoá externally_connectable không được khai báo trong tệp kê khai của tiện ích, thì mọi tiện ích đều có thể kết nối nhưng không trang web nào có thể kết nối. Do đó, khi bạn cập nhật tệp kê khai để sử dụng externally_connectable, nếu bạn không chỉ định "ids": ["*"], thì các tiện ích khác sẽ mất khả năng kết nối với tiện ích của bạn. Đây có thể là kết quả không mong muốn, vì vậy, hãy lưu ý đến điều này.

Tệp kê khai

{
  "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
  },
  ...
}

Tài liệu tham khảo

Khoá tệp kê khai "externally_connectable" bao gồm các thuộc tính không bắt buộc sau:

"ids"
Mã của các tiện ích được phép kết nối. Nếu bạn để trống hoặc chưa chỉ định, thì sẽ không có tiện ích hay ứng dụng nào có thể kết nối. Ký tự đại diện "*" sẽ cho phép tất cả tiện ích và ứng dụng kết nối.
"matches"
Mẫu URL cho các trang web được phép kết nối. Nếu bạn để trống hoặc chưa chỉ định, thì không có trang web nào có thể kết nối. Mẫu không được bao gồm miền có ký tự đại diện hoặc miền con của miền cấp cao nhất(có hiệu lực), ví dụ:
✅ URL hợp lệ ❌ URL không hợp lệ
*://example.com/ *://example.com/one/
http://*.example.org/* <all_urls>
https://example.com/* http://*/*
"accepts_tls_channel_id"
Cho phép tiện ích sử dụng mã nhận dạng kênh TLS của trang web đang kết nối với tiện ích đó. Trang web cũng phải chọn gửi mã nhận dạng kênh TLS cho tiện ích bằng cách đặt includeTlsChannelId thành true trong connectInfo của Runtime.connect hoặc các tuỳ chọn của Runtime.sendMessage. Nếu bạn đặt thành false, thì runtime.MessageSender.tlsChannelId sẽ không bao giờ được thiết lập trong bất kỳ trường hợp nào.

Điều này không ảnh hưởng đến tập lệnh nội dung.