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() và runtime.sendMessage().
Để xem hướng dẫn về việc truyền thông báo, hãy xem phần nhắn tin giữa các tiện ích và gửi thông báo từ các trang web.
Kết nối mà không cần externally_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 có 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à một hậu 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 đây:
"ids"- Mã nhận dạng của các tiện ích được phép kết nối. Nếu bạn để trống hoặc không chỉ định, thì 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"- Mẫu so khớp cho các trang web được phép kết nối. Nếu bạn để trống hoặc không chỉ định, thì không trang web nào có thể kết nối.
"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 đến tiện ích bằng cách đặt
includeTlsChannelIdthànhtruetrong connectInfo của runtime.connect hoặc options của runtime.sendMessage. Nếu được đặt thànhfalse, runtime.MessageSender.tlsChannelId sẽ không bao giờ được đặt trong bất kỳ trường hợp nào.
Việc này không ảnh hưởng đến tập lệnh nội dung.