"externally_connectable" 매니페스트 속성은 runtime.connect() 및 runtime.sendMessage()를 사용하여 확장 프로그램에 연결할 수 있는 확장 프로그램과 웹페이지를 선언합니다.
메시지 전달에 관한 튜토리얼은 교차 확장 프로그램 메시지 및 웹페이지에서 메시지 보내기를 참고하세요.
externally_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"- 연결이 허용된 웹페이지의 일치 패턴입니다. 비워 두거나 지정하지 않으면 웹페이지가 연결될 수 없습니다.
"accepts_tls_channel_id"- 확장 프로그램이 연결된 웹페이지의 TLS 채널 ID를 사용할 수 있도록 합니다. 또한 웹페이지는 runtime.connect의 connectInfo 또는 runtime.sendMessage의 options에서
includeTlsChannelId를true로 설정하여 TLS 채널 ID를 확장 프로그램에 전송하도록 선택해야 합니다.false로 설정하면 어떤 상황에서도 runtime.MessageSender.tlsChannelId가 설정되지 않습니다.
콘텐츠 스크립트에는 영향을 미치지 않습니다.