"externally_connectable"
매니페스트 속성은 runtime.connect()
및 runtime.sendMessage()
를 사용하여 확장 프로그램에 연결할 수 있는 확장 프로그램과 웹페이지를 선언합니다.
메시지 전달에 관한 가이드는 교차 확장 프로그램 메시지 및 웹페이지에서 메시지 전송을 참조하세요.
external_connectable을 사용하지 않고 연결
확장 프로그램의 매니페스트에 externally_connectable
키가 선언되지 않은 경우 모든 확장 프로그램을 연결할 수 있지만 웹페이지를 연결할 수는 없습니다. 따라서 externally_connectable
를 사용하도록 매니페스트를 업데이트할 때 "ids": ["*"]
를 지정하지 않으면 다른 확장 프로그램에서 확장 프로그램에 연결할 수 없게 됩니다. 이는 의도치 않은 결과일 수 있으므로 유의하세요.
매니페스트
{
"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
},
...
}
참조
"externally_connectable"
매니페스트 키에는 다음과 같은 선택적 속성이 포함됩니다.
"ids"
- 연결이 허용된 확장 프로그램의 ID입니다. 비워 두거나 지정하지 않으면 확장 프로그램 또는 앱을 연결할 수 없습니다. 와일드 카드
"*"
를 사용하면 모든 확장 프로그램과 앱의 연결을 허용합니다. "matches"
- 연결이 허용되는 웹페이지의 URL 패턴입니다. 비워 두거나 지정하지 않으면 웹페이지를 연결할 수 없습니다. 패턴에는 와일드 카드 도메인이나 (유효) 최상위 도메인의 하위 도메인을 포함할 수 없습니다. 예를 들면 다음과 같습니다.
✅ 유효한 URL | ❌ 잘못된 URL |
---|---|
*://example.com/ |
*://example.com/one/ |
http://*.example.org/* |
<all_urls> |
https://example.com/* |
http://*/* |
"accepts_tls_channel_id"
- 확장 프로그램이 확장 프로그램에 연결되는 웹페이지의 TLS 채널 ID를 사용하도록 사용 설정합니다. 또한 웹페이지에서는runtime.connect의 connectInfo 또는runtime.sendMessage의 옵션에서
includeTlsChannelId
를true
로 설정하여 TLS 채널 ID를 확장 프로그램에 전송하도록 선택해야 합니다.false
로 설정하면 어떠한 상황에서도 runtime.MessageSender.tlsChannelId가 설정되지 않습니다.
이는 콘텐츠 스크립트에는 영향을 미치지 않습니다.