externally_connectable

Tài sản 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 runtime.connect()runtime.sendMessage().

Để xem hướng dẫn về cách chuyển thư, hãy xem bài viết gửi thư trên nhiều tiện íchgửi thư khỏi các trang web.

Kết nối mà không có external_connectable

Nếu khoá externally_connectable không được khai báo trong tệp kê khai của tiện ích, thì tất cả 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 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 tiếp tục áp dụng tâm trí.

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ã nhận dạng của các tiện ích được phép kết nối. Nếu để trống hoặc chưa được chỉ định, sẽ không có tiện ích hoặc ứ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"
Các mẫu URL cho trang web được phép kết nối. Nếu để trống hoặc chưa được chỉ định, không trang web nào có thể kết nối. Mẫu không được bao gồm miền 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 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 cài đặt includeTlsChannelId đến true trong connectInfo của Runtime.connect hoặc các tuỳ chọn của Runtime.sendMessage. Nếu bạn đặt chính sách này thành false, runtime.MessageSender.tlsChannelId sẽ không bao giờ được đặt 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.