Как организовать обмен сообщениями между страницей и расширением chrome?
Всем привет!
Впервые пишу вопрос и расширение для Гугл хрома и мне нужно связать свой сайт с этим расширением с помощью сообщений.
Манифест имеет поля:
"content_scripts": [{
"matches": [
"http://localhost:3000/*",
"http://localhost:6006/*"
],
"run_at": "document_end",
"all_frames": false,
"js": ["content.js"]
}],
"permissions": [
"unlimitedStorage",
"notifications",
"nativeMessaging",
"activeTab",
"tabs"
],
"host_permissions": [
"http://localhost:3000/*",
"http://localhost:6006/*"
],
"externally_connectable": {
"matches": [
"http://localhost:3000/*",
"https://localhost:3000/*",
"http://localhost:6006/*"
]
},
Документация хрома говорит о том, что для того, чтобы отправить сообщение, нужно использовать метод
chrome.runtime.sendMessage, с указанием ID расширения из его настроек в браузере, который я добавил на страницу сайта.
Для получения такого сообщения нужно выдать разрешения, которые, прописаны в манифесте в permissions
Получать сообщения я пробовал с помощью методов:
chrome.tabs.onMessage.addListener, chrome.runtime.onMessage.addListener и chrome.runtime.onMessageExternal.addListener который вообще не доступен в content.js файле.
При попытке оправки сообщения, у выводится ошибка
Uncaught (in promise) Error: Could not establish connection. Receiving end does not exist. Цитата
Надеюсь, я дал достаточно информации, чтобы вы смогли мне помочь, спасибо! :)