Как организовать обмен сообщениями между страницей и расширением 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. Цитата

Надеюсь, я дал достаточно информации, чтобы вы смогли мне помочь, спасибо! :)


Ответы (0 шт):