Ошибка порта: не удалось установить соединение.Получающий конец не существует.В хромиуме - PullRequest
50 голосов
/ 02 февраля 2012

Я разрабатываю расширение в Chrome, и есть проблема.В моем inject.js я делаю запрос как:

chrome.extension.sendRequest({command:'skip'},callback)

, а в моем `background.js я просто добавляю прослушиватель запроса как:

chrome.extension.onrequest.addListener(function(req,sender,res){console.log("procession"})

Но есть ошибка:

Ошибка порта: не удалось установить соединение.Конец получения не существует

Кажется, ошибка в Chrome?PS:
часть моего manifest.json

"background": {
    "scripts": ["background.js"]
  },
  "content_scripts": [
    {
      "matches": ["&lt all_urls &gt"], 
      "js": ["inject.js"]
    }
  ],

Я нахожусь в Chromium 17, и я попытался перезагрузить расширение, снова открыв браузер ... ничего не произошло
кто-то получил некоторые идеи

Ответы [ 14 ]

0 голосов
/ 01 апреля 2019

Я помещаю chrome.runtime.sendMessage и chrome.runtime.onMessage.addEventListener в скрипте содержимого в window.onload или функцию самореализации, и это работает.И в манифесте я использую

"background": { "scripts": ["background.js"], "persistent": false },

manifest_version: 2. Надеюсь, это поможет.

0 голосов
/ 01 марта 2019

Для манифеста 2.0 и для случая sendMessage это довольно просто:

Это происходит, если вы пытаетесь использовать sendMessage внутри всплывающего окна, и нет настройки прослушивателя в конце фонового скрипта или слушатель каким-то образом удален.

Под слушателем я имею в виду - chrome.runtime.onMessage.addListener.

0 голосов
/ 14 ноября 2013

Я видел эту проблему, когда мой контент-скрипт не загружался, поэтому размещение сообщения никогда не происходило.

Проблема оказалась в том, что у меня был открыт инспектор фоновых скриптов, и я просто нажимал Cmd + R (обновить), но в моем manifest.json была ошибка. Когда я на самом деле зашел на страницу расширений и перезагрузил эту страницу, я получил предупреждение о явной ошибке.

По сути, я видел это, потому что мои скрипты контента никогда не загружались в первую очередь, и я думал, что обновляю свой манифест, но я не был.

0 голосов
/ 26 июля 2013

Если у вас возникла проблема, главным образом из-за того, что вы ссылаетесь на устаревший документ, обновите его!

Посетите: Расширение Chrome: Messaging.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...