Tài sản tệp kê khai externally_connectable
khai báo những tiện ích, ứng dụng và trang web có thể
kết nối với tiện ích của bạn qua runtime.connect và runtime.sendMessage.
Để xem hướng dẫn về cách chuyển tin nhắn, hãy xem bài viết nhiều tiện ích và thông báo trong ứng dụng cũng như gửi tin nhắn khỏi các trang web.
Đang kết nối mà không có external_connectable
Nếu bạn không khai báo externally_connectable
trong tệp kê khai của tiện ích, thì mọi tiện ích và ứng dụng
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 và ứng dụng 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 manifest.json mẫu
{
"name": "My externally connectable extension",
"externally_connectable": {
// Extension and app IDs. If this field is not specified, no
// extensions or apps can connect.
"ids": [
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
...
// Alternatively, to match all extensions and apps, specify only
// "*".
"*"
],
// Match patterns for web pages. Does not affect content scripts.
// If this field is not specified, no webpages can connect.
"matches": [
"https://*.google.com/*",
"*://*.chromium.org/*",
...
],
// Indicates that the extension would like to make use of the TLS
// channel ID of the web page connecting to it. The web page must
// also opt to send the TLS channel ID to the extension via setting
// includeTlsChannelId to true in runtime.connect's connectInfo
// or runtime.sendMessage's options.
"accepts_tls_channel_id": false
},
...
}
Tài liệu tham khảo
Khoá tệp kê khai external_connectable có thể có các thuộc tính sau:
ids
(mảng chuỗi) – không bắt buộcMã của các tiện ích hoặc ứng dụng được phép kết nối. Nếu để trống hoặc không được chỉ định, không tiện ích hoặc ứng dụng 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ảng chuỗi) – không bắt buộcCác mẫu URL cho trang web được phép kết nối. Điều này không ảnh hưởng đến nội dung tập lệnh. 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);
*://google.com/*
vàhttp://*.chromium.org/*
là hợp lệ, trong khi<all_urls>
,http://*/*
,*://*.com/*
và thậm chíhttp://*.appspot.com/*
thì không.accepts_tls_channel_id
(boolean) – không bắt buộcNếu giá trị là
true
, thông báo được gửi qua runtime.connect hoặc runtime.sendMessage sẽ đặt runtime.MessageSender.tlsChannelId nếu các phương thức đó yêu cầu mã đó. Nếu giá trị làfalse
, runtime.MessageSender.tlsChannelId sẽ không bao giờ được đặt trong bất kỳ trường hợp nào.